Adds Event Hubs Streaming Aspire Support
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.