orleans icon indicating copy to clipboard operation
orleans copied to clipboard

Adds Event Hubs Streaming Aspire Support

Open jsedlak opened this issue 11 months ago • 0 comments

Adds support for Event Hubs Streaming for Orleans clusters hosted via Aspire for #9244

This PR is marked as Draft due to the upcoming changes to support passing non-connection string properties via Aspire, in this case Hub and Consumer Group.

Related Pull Request: https://github.com/dotnet/aspire/pull/7468/files

This PR will be updated to use the new functionality once released.

Passing Hub and Consumer Group

The Hub and Consumer Group currently need to be created and passed as environment variables.

To create the Hub and Consumer Group please see this related issue (https://github.com/dotnet/aspire/issues/5561) and gist (https://gist.github.com/oising/3dd68b7605cae511434ced4971b6551a)

To pass the configuration, please use the following environment variables, where [name] is the ServiceKey (name) of the Event Hubs resource.

# Primary
[name]__EventHubName
[name]__ConsumerGroup

# Secondary
Orleans__Streaming__[name]__EventHubName
Orleans__Streaming__[name]__ConsumerGroup

Table Checkpointer

Feedback is requested on how to best handle passing Azure Table Checkpointer. Currently, two configuration values are supported similar to that of Hub and Consumer Group

Orleans__Streaming__[name]__CheckpointerConnectionName
Orleans__Streaming__[name]__CheckpointerConnectionString

If the Connection String is supplied, then it is used. If the Connection Name is passed without a Connection String, then it is used to look up a Connection String. This requires adding a matching keyed Table service client.

Microsoft Reviewers: Open in CodeFlow

jsedlak avatar Feb 08 '25 15:02 jsedlak