Getting started with the Azure Queue Storage integration
此内容尚不支持你的语言。
Azure Queue Storage is a service for storing large numbers of messages. The Aspire Azure Queue Storage Hosting integration provides methods to create Azure Queue Storage resources from code in your Aspire AppHost project.
In this introduction, you’ll see how to install and use the Aspire Azure Queue Storage integrations in a simple configuration. If you already have this knowledge, see Azure Queue Storage Hosting integration for full reference details.
Set up hosting integration
Section titled “Set up hosting integration”To begin, install the Aspire Azure Storage Hosting integration in your Aspire AppHost project. This integration allows you to create and manage Azure Queue Storage resources from your Aspire hosting projects:
aspire add azure-storageAspire CLI 是交互式的;按提示选择合适的搜索结果:
Select an integration to add:
> azure-storage (Aspire.Hosting.Azure.Storage)> Other results listed as selectable options...#:package Aspire.Hosting.Azure.Storage@*<PackageReference Include="Aspire.Hosting.Azure.Storage" Version="*" />Next, in the AppHost project, create an Azure Queue Storage resource and pass it to the consuming client projects:
var builder = DistributedApplication.CreateBuilder(args);
var queues = builder.AddAzureStorage("storage") .AddQueues("queues");
var myService = builder.AddProject<Projects.MyService>() .WithReference(queues);
// After adding all resources, run the app...
builder.Build().Run();The preceding code adds an Azure Storage resource named storage to the AppHost project, adds a queue storage resource to it named queues, and passes the queue storage connection information to the consuming project.
Set up client integration
Section titled “Set up client integration”To use Azure Queue Storage from your client applications, install the Aspire Azure Queue Storage client integration in your client project:
dotnet add package Aspire.Azure.Storage.Queues#:package Aspire.Azure.Storage.Queues@*<PackageReference Include="Aspire.Azure.Storage.Queues" Version="*" />In the Program.cs file of your client-consuming project, call the AddAzureQueueServiceClient extension method to register a QueueServiceClient for use via the dependency injection container:
builder.AddAzureQueueServiceClient(connectionName: "queues");Use injected Azure Queue Storage properties
Section titled “Use injected Azure Queue Storage properties”In the AppHost, when you used the WithReference method to pass an Azure Queue Storage resource to a consuming client project, Aspire injects several configuration properties that you can use in the consuming project.
Aspire exposes each property as an environment variable named [RESOURCE]_[PROPERTY]. For instance, the Uri property of a resource called queues becomes QUEUES_URI.
Use the GetValue() method to obtain these environment variables in consuming projects:
string queueUri = builder.Configuration.GetValue<string>("QUEUES_URI");Add Azure Queue Storage resources in client code
Section titled “Add Azure Queue Storage resources in client code”After adding the QueueServiceClient, you can retrieve the connection instance using dependency injection:
public class ExampleService(QueueServiceClient client){ // Use client...}For full details on using the client integration, see Azure Queue Storage Client integration.