Skip to content

Conversation

@RussKie
Copy link
Contributor

@RussKie RussKie commented May 7, 2025

Description

  • Add the ability to register and deep link to individual Azure storage queues.
  • Auto-create Azure storage queues upon registration.

This change is, essentially, a copy of #9008 adapter for Azure storage queues.

Addendum to #5167

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No
  • Does the change require an update in our Aspire docs?

@RussKie RussKie self-assigned this May 7, 2025
@github-actions github-actions bot added the area-integrations Issues pertaining to Aspire Integrations packages label May 7, 2025
@RussKie RussKie changed the title Clean up AzureStorage auto create queues May 7, 2025
@RussKie RussKie requested review from captainsafia, Copilot and davidfowl and removed request for eerhardt, radical and sebastienros May 7, 2025 09:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request adds support for auto-creating and deep linking to individual Azure Storage queues along with associated tests and configuration changes. Key changes include adding new settings and client extensions for Azure queues, updating configuration bindings and health checks, and integrating new queue-based provisioning in the hosting layer.

Reviewed Changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/Aspire.Azure.Storage.Queues.Tests/ConformanceTests.cs Added test support to configure options for queues.
tests/Aspire.Azure.Storage.Queues.Tests/AzureBlobStorageContainerSettingsTests.cs Introduces tests for connection string parsing for queue settings but the file name implies blob container settings.
src/Components/Aspire.Azure.Storage.Queues/AzureStorageQueuesSettings.cs Changed the Azure queues settings from sealed to non-sealed.
src/Components/Aspire.Azure.Storage.Queues/AzureStorageQueueSettings.cs Added connection string parsing logic for queue settings.
src/Components/Aspire.Azure.Storage.Queues/AspireQueueStorageExtensions.cs Updated extension methods for registering queue and keyed queue clients.
src/Components/Aspire.Azure.Storage.Queues/AspireQueueStorageExtensions.StorageQueueComponent.cs Added client registration for single queue operations with a potential error message discrepancy.
src/Aspire.Hosting.Azure.Storage/AzureStorageExtensions.cs Updated storage resource provisioning to include queues.
src/Aspire.Hosting.Azure.Storage/AzureQueueStorageResource.cs & AzureQueueStorageQueueResource.cs Added resource representations and provisioning conversions for queues.
playground/* Updated sample applications and functions to use the new queue registrations and naming conventions.
Files not reviewed (1)
  • src/Aspire.Hosting.Azure.Storage/Aspire.Hosting.Azure.Storage.csproj: Language not supported
Comments suppressed due to low confidence (1)

tests/Aspire.Azure.Storage.Queues.Tests/AzureBlobStorageContainerSettingsTests.cs:11

  • The file is named 'AzureBlobStorageContainerSettingsTests.cs' but the class under test is 'AzureStorageQueueSettingsTests'. Consider renaming the file to match the tested subject for clarity.
public class AzureStorageQueueSettingsTests

@davidfowl
Copy link
Member

Lets get in the dev side of things and leave out the azure changes until the issue is fixed.

@RussKie RussKie force-pushed the 5167-queueclient branch from 5fa6848 to d45e21e Compare May 19, 2025 06:32
@davidfowl
Copy link
Member

This markdown lint thing is failing every PR

@RussKie
Copy link
Contributor Author

RussKie commented May 19, 2025

Lets get in the dev side of things and leave out the azure changes until the issue is fixed.

The current implementation is working well with the emulator.
Once there's an update to the Azure.Provisioning.Storage is available, then it should work for the Azure as well (some bicep-related tests will need to be updated).

This markdown lint thing is failing every PR

This is something unrelated, appears to have started failing for all PRs across the repo.

@RussKie RussKie marked this pull request as ready for review May 19, 2025 06:57
@davidfowl
Copy link
Member

Yea I see how we messed up these APIs now and have been thinking about how we transition this API to something better now that this model is better understood.

@RussKie RussKie force-pushed the 5167-queueclient branch from d45e21e to 7219910 Compare May 19, 2025 07:06
@RussKie RussKie force-pushed the 5167-queueclient branch 2 times, most recently from 3d8bc03 to 5fbe8cc Compare May 22, 2025 02:23
@RussKie RussKie closed this May 22, 2025
@RussKie RussKie reopened this May 22, 2025
@RussKie

This comment was marked as outdated.

@RussKie RussKie force-pushed the 5167-queueclient branch from 1247c5a to 9bd5da4 Compare May 26, 2025 01:41
@RussKie
Copy link
Contributor Author

RussKie commented May 26, 2025

I had to rebase and rework implementations due to #9472 (thanks @sebastienros for fixing that).

@davidfowl
Copy link
Member

@sebastienros @eerhardt Can we take this over the finish line for 9.4, @RussKie got us 90% there.

@sebastienros sebastienros self-assigned this Jun 11, 2025
@davidfowl
Copy link
Member

@sebastienros this is done yes?

@davidfowl davidfowl closed this Aug 12, 2025
@dotnet-policy-service dotnet-policy-service bot added this to the 9.5 milestone Aug 12, 2025
@github-actions github-actions bot locked and limited conversation to collaborators Sep 11, 2025
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