Skip to content
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

[release/8.0-preview5] Add support for Azure Event Hubs (#2870) #3226

Merged
merged 1 commit into from
Mar 27, 2024

Conversation

eerhardt
Copy link
Member

@eerhardt eerhardt commented Mar 27, 2024

Backport of #2870 to release/8.0-preview5

Customer Impact

Customers can easily use Azure Event Hubs in their .NET Aspire apps.

Testing

I manually verified the playground app was able to be provisioned at runtime. More automated tests are coming.

Risk

Low, this is just a new component that doesn't affect any other piece of the stack.

Microsoft Reviewers: Open in CodeFlow

* initial commit for event hubs component and resource (non-functional, but skeleton is there)

* corrected roledefinition

* added consumer client (now have producer, consumer and processor components); modified davidfowl's demo EH project to use new resources and components; bugfixes;

* fixes for processor client; updated build props/targets for playground project

* Update AzureEventHubsExtensions.cs

No need to construct this (we recently changed this in the others).

* some minor refactoring of processor client; made playground project more robust

* address review items; automatically generate processor identifier from hub and consumergroup; add more comments; minor refactoring

* Update src/Aspire.Hosting.Azure/Extensions/AzureEventHubsExtensions.cs

Co-authored-by: Jesse Squire <jesse.squire@gmail.com>

* Update src/Aspire.Hosting.Azure/Extensions/AzureEventHubsExtensions.cs

Co-authored-by: Jesse Squire <jesse.squire@gmail.com>

* update EH endpoint references to use eventHubsEndpoint instead of serviceBusEndpoint; beef up processor identifier naming.

* add ability to configure credential for azure provisioner (removed my hack); added first batch of documentation for component; added partitionreceiver component.

* Update src/Components/Aspire.Azure.Messaging.EventHubs/AzureMessagingEventHubsSettings.cs

Co-authored-by: Jesse Squire <jesse.squire@gmail.com>

* remove azure provisioner credential configuration stuff (will go into separate PR)

* address review points; refactor namespace parsing into base eh component

* fix package tags and add new icon to shared

* remove providercredential reference from config

* fix some more errant service bus mentions and regenerate configurationschema

* fix xmlcomment on settings

* remove azure section from sample config

* update components README.md

* delete EH playground readme

* minor edits for clarification

* port ASB connection/namespace tests; rewrite validation logic to be more robust

* Update playground/AspireEventHub/EventHubs.AppHost/EventHubs.AppHost.csproj

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* Update playground/AspireEventHub/EventHubsConsumer/EventHubsConsumer.csproj

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* Update src/Aspire.Hosting.Azure.EventHubs/Aspire.Hosting.Azure.EventHubs.csproj

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>

* generate aspire manifest etc for EH sample

* moved processor Start code into Execute for worker sample

* fixed another ref to service bus

* refine checkpoint blob container creation logic to avoid unnecessary permission demand if we can

* enhance logic for blob checkpoint container; add BlobContainerName to settings as an option

* persist checkpoints in processor sample for EH

* renamed settings class in tests to match AEH; was ASB.

* Fix Tracing with EventHubs
Update Telemetry and Components Progress docs
Minor cleanup feedback

* refactor EH client settings into individual classes

* Add readme for EH hosting

* Fix build

* Address PR feedback

- Remove unnecessary Directory.Packages.props entry
- Fix ConfigurationSchema.json to match implementation
- StringComparison.Ordinal is unnecessary when looking for a char

---------

Co-authored-by: Mitch Denny <mitchdenny@outlook.com>
Co-authored-by: Jesse Squire <jesse.squire@gmail.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
@dotnet-issue-labeler dotnet-issue-labeler bot added the area-integrations Issues pertaining to Aspire Integrations packages label Mar 27, 2024
param principalType string


resource storageAccount_X1L2R0Ykm 'Microsoft.Storage/storageAccounts@2022-09-01' = {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not an issue but that's a weird variable name. Or do these resources need to be unique for a whole deployment?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe they are generated by the Azure CDK.

@davidfowl davidfowl merged commit cb1a47b into dotnet:release/8.0-preview5 Mar 27, 2024
8 checks passed
@danmoseley danmoseley mentioned this pull request Apr 12, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Apr 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-integrations Issues pertaining to Aspire Integrations packages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants