Azure Storage resource types for Aspire.
$ dotnet add package Aspire.Hosting.Azure.StorageProvides extension methods and resource definitions for a .NET Aspire AppHost to configure Azure Storage.
Install the .NET Aspire Azure Storage Hosting library with NuGet:
dotnet add package Aspire.Hosting.Azure.Storage
Adding Azure resources to the .NET Aspire application model will automatically enable development-time provisioning for Azure resources so that you don't need to configure them manually. Provisioning requires a number of settings to be available via .NET configuration. Set these values in user secrets in order to allow resources to be configured automatically.
{
"Azure": {
"SubscriptionId": "<your subscription id>",
"ResourceGroupPrefix": "<prefix for the resource group>",
"Location": "<azure location>"
}
}
NOTE: Developers must have Owner access to the target subscription so that role assignments can be configured for the provisioned resources.
In the AppHost.cs file of AppHost, add a Blob (can use tables or queues also) Storage connection and consume the connection using the following methods:
var blobs = builder.AddAzureStorage("storage").AddBlobs("blobs");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(blobs);
The WithReference method passes that connection information into a connection string named blobs in the MyService project. In the Program.cs file of MyService, the connection can be consumed using the client library Aspire.Azure.Storage.Blobs:
builder.AddAzureBlobClient("blobs");