-
Notifications
You must be signed in to change notification settings - Fork 543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Azure Event Hubs component #1147
Comments
I wrote an event hubs sample here (no component but an azure resource): |
@davidfowl helped me get started this weekend on getting his example integrated into the latest bits, so if you want to assign me, I'm giving it a shot. /cc @ReubenBond |
Greatly appreciated, @oising! We're here to help if you run into trouble |
@oising : One thing that I'll mention about David's prototype is that you definitely don't want to use the consumer's Depending on whether the intention is to allow for multiple instances to be running in the app or a single instance, we'd want to look at |
@jsquire This brings up another somewhat orthogonal point. I've yet to read anything about Aspire being aimed at production scenarios (though I can absolutely imagine this, especially with something like Pulumi integrated) -- Aspire finds itself in a weird no-mans land here. It would be good to get messaging around this, because these choices (PartitionReceiver vs EventHubConsumer) are entwined with this vision. |
The libraries (components) are runtime libraries. We don't have to choose here, we just have a lightweight wrapper around the event hub azure SDK. |
@sebastienros will help guide this @oising. Feel free to ask questions here! |
Cool. That makes things easier. If the goal is just to wrap/expose clients, then we should consider doing so for:
|
That is outside of my purview; I'll defer to @sebastienros and team. |
I don't think there's precedent for exposing multiple clients in this way; even ASB just uses ServiceBusClient I think. I'll play around with some ideas and put up a draft soon. |
Fair enough; if we only get one producer and one consumer, we'd probably want to go with:
|
That's still new territory as far as I can tell. The Aspire component for ASB only has a single top-level/root client |
I'm thinking of following the pattern in Microsoft.Extensions.Azure:
Thoughts? p.s. I kinda like this pattern for all of Aspire components (at least until they are integrated into the SDK if that happens) i.e.
It fits within the AddAzureClients pattern, and also helps you a bit more to not conflate the components with the vanilla SDK extension methods. |
@oising no plans to fundamentally change the pattern from a top-level method, especially for the simple case. We can always add more advanced overloads. We just need to nail the 95% scenario. Customers can always use the lower-level APIs. |
Done! |
We should add an Azure Event Hubs component.
We identified this in the Orleans component PR (#1117), since many Orleans users use Azure Event Hubs for stream processing.
The text was updated successfully, but these errors were encountered: