Skip to content
DocsTry Aspire
DocsTry

AzureStorageExtensions Methods

ClassMethods17 members
Extension methods for adding Azure Storage resources to an application model.
AddAzureStorage(IDistributedApplicationBuilder, string)Section titled AddAzureStorage(IDistributedApplicationBuilder, string)extensionIResourceBuilder<AzureStorageResource>
Adds an Azure Storage resource to the application model. This resource can be used to create Azure blob, table, and queue resources.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageResource> AddAzureStorage(
this IDistributedApplicationBuilder builder,
string name)
{
// ...
}
}
builderIDistributedApplicationBuilderThe builder for the distributed application.
namestringThe name of the resource.
By default references to the Azure Storage resource will be assigned the following roles: - StorageBuiltInRole.StorageBlobDataContributor - StorageBuiltInRole.StorageTableDataContributor - StorageBuiltInRole.StorageQueueDataContributor These can be replaced by calling AzureStorageExtensions.WithRoleAssignments.
AddBlobContainer(IResourceBuilder<AzureStorageResource>, string, string?)Section titled AddBlobContainer(IResourceBuilder<AzureStorageResource>, string, string?)extensionIResourceBuilder<AzureBlobStorageContainerResource>
Creates a builder for the AzureBlobStorageContainerResource which can be referenced to get the Azure Storage blob container endpoint for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureBlobStorageContainerResource> AddBlobContainer(
this IResourceBuilder<AzureStorageResource> builder,
string name,
string? blobContainerName = null)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
blobContainerNamestring?optionalThe name of the blob container.
IResourceBuilder<AzureBlobStorageContainerResource>An ApplicationModel.IResourceBuilder`1 for the AzureBlobStorageContainerResource.
AddBlobContainer(IResourceBuilder<AzureBlobStorageResource>, string, string?)Section titled AddBlobContainer(IResourceBuilder<AzureBlobStorageResource>, string, string?)extensionIResourceBuilder<AzureBlobStorageContainerResource>
Creates a builder for the AzureBlobStorageContainerResource which can be referenced to get the Azure Storage blob container endpoint for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureBlobStorageContainerResource> AddBlobContainer(
this IResourceBuilder<AzureBlobStorageResource> builder,
string name,
string? blobContainerName = null)
{
// ...
}
}
builderIResourceBuilder<AzureBlobStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureBlobStorageResource.
namestringThe name of the resource.
blobContainerNamestring?optionalThe name of the blob container.
IResourceBuilder<AzureBlobStorageContainerResource>An ApplicationModel.IResourceBuilder`1 for the AzureBlobStorageContainerResource.
AddBlobs(IResourceBuilder<AzureStorageResource>, string)Section titled AddBlobs(IResourceBuilder<AzureStorageResource>, string)extensionIResourceBuilder<AzureBlobStorageResource>
Creates a builder for the AzureBlobStorageResource which can be referenced to get the Azure Storage blob endpoint for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureBlobStorageResource> AddBlobs(
this IResourceBuilder<AzureStorageResource> builder,
string name)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
IResourceBuilder<AzureBlobStorageResource>An ApplicationModel.IResourceBuilder`1 for the AzureBlobStorageResource.
AddDataLake(IResourceBuilder<AzureStorageResource>, string)Section titled AddDataLake(IResourceBuilder<AzureStorageResource>, string)extensionIResourceBuilder<AzureDataLakeStorageResource>
Creates a builder for the AzureDataLakeStorageResource which can be referenced to get the Azure Data Lake endpoint for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureDataLakeStorageResource> AddDataLake(
this IResourceBuilder<AzureStorageResource> builder,
string name)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
IResourceBuilder<AzureDataLakeStorageResource>An ApplicationModel.IResourceBuilder`1 for the AzureDataLakeStorageResource.
AddDataLakeFileSystem(IResourceBuilder<AzureStorageResource>, string, string?)Section titled AddDataLakeFileSystem(IResourceBuilder<AzureStorageResource>, string, string?)extensionIResourceBuilder<AzureDataLakeStorageFileSystemResource>
Creates a builder for the AzureDataLakeStorageFileSystemResource which can be referenced to get the Azure DataLake file system connection string.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureDataLakeStorageFileSystemResource> AddDataLakeFileSystem(
this IResourceBuilder<AzureStorageResource> builder,
string name,
string? dataLakeFileSystemName = null)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
dataLakeFileSystemNamestring?optionalThe name of the data lake file system.
IResourceBuilder<AzureDataLakeStorageFileSystemResource>An ApplicationModel.IResourceBuilder`1 for the AzureDataLakeStorageFileSystemResource.
AddQueue(IResourceBuilder<AzureStorageResource>, string, string?)Section titled AddQueue(IResourceBuilder<AzureStorageResource>, string, string?)extensionIResourceBuilder<AzureQueueStorageQueueResource>
Creates a builder for the AzureQueueStorageQueueResource which can be referenced to get the Azure Storage queue for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureQueueStorageQueueResource> AddQueue(
this IResourceBuilder<AzureStorageResource> builder,
string name,
string? queueName = null)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
queueNamestring?optionalThe name of the queue.
IResourceBuilder<AzureQueueStorageQueueResource>An ApplicationModel.IResourceBuilder`1 for the AzureQueueStorageQueueResource.
AddQueues(IResourceBuilder<AzureStorageResource>, string)Section titled AddQueues(IResourceBuilder<AzureStorageResource>, string)extensionIResourceBuilder<AzureQueueStorageResource>
Creates a builder for the AzureQueueStorageResource which can be referenced to get the Azure Storage queues endpoint for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureQueueStorageResource> AddQueues(
this IResourceBuilder<AzureStorageResource> builder,
string name)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
IResourceBuilder<AzureQueueStorageResource>An ApplicationModel.IResourceBuilder`1 for the AzureQueueStorageResource.
AddTables(IResourceBuilder<AzureStorageResource>, string)Section titled AddTables(IResourceBuilder<AzureStorageResource>, string)extensionIResourceBuilder<AzureTableStorageResource>
Creates a builder for the AzureTableStorageResource which can be referenced to get the Azure Storage tables endpoint for the storage account.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureTableStorageResource> AddTables(
this IResourceBuilder<AzureStorageResource> builder,
string name)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The ApplicationModel.IResourceBuilder`1 for AzureStorageResource.
namestringThe name of the resource.
IResourceBuilder<AzureTableStorageResource>An ApplicationModel.IResourceBuilder`1 for the AzureTableStorageResource.
RunAsEmulator(IResourceBuilder<AzureStorageResource>, Action<IResourceBuilder<AzureStorageEmulatorResource>>)Section titled RunAsEmulator(IResourceBuilder<AzureStorageResource>, Action<IResourceBuilder<AzureStorageEmulatorResource>>)extensionIResourceBuilder<AzureStorageResource>
Configures an Azure Storage resource to be emulated using Azurite. This resource requires an AzureStorageResource to be added to the application model.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageResource> RunAsEmulator(
this IResourceBuilder<AzureStorageResource> builder,
Action<IResourceBuilder<AzureStorageEmulatorResource>>? configureContainer = null)
{
// ...
}
}
builderIResourceBuilder<AzureStorageResource>The Azure storage resource builder.
configureContainerAction<IResourceBuilder<AzureStorageEmulatorResource>>optionalCallback that exposes underlying container used for emulation to allow for customization.
IResourceBuilder<AzureStorageResource>A reference to the ApplicationModel.IResourceBuilder`1.
This version of the package defaults to the tag of the / container image.
WithApiVersionCheck(IResourceBuilder<AzureStorageEmulatorResource>, bool)Section titled WithApiVersionCheck(IResourceBuilder<AzureStorageEmulatorResource>, bool)extensionIResourceBuilder<AzureStorageEmulatorResource>
Ensures the emulator checks that the requested API version is valid.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageEmulatorResource> WithApiVersionCheck(
this IResourceBuilder<AzureStorageEmulatorResource> builder,
bool enable = true)
{
// ...
}
}
builderIResourceBuilder<AzureStorageEmulatorResource>Storage emulator resource builder.
enablebooloptionalWhether to enable API version check or not. Default is true.
IResourceBuilder<AzureStorageEmulatorResource>An ApplicationModel.IResourceBuilder`1 for the AzureStorageEmulatorResource.
WithBlobPort(IResourceBuilder<AzureStorageEmulatorResource>, int)Section titled WithBlobPort(IResourceBuilder<AzureStorageEmulatorResource>, int)extensionIResourceBuilder<AzureStorageEmulatorResource>
Modifies the host port that the storage emulator listens on for blob requests.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageEmulatorResource> WithBlobPort(
this IResourceBuilder<AzureStorageEmulatorResource> builder,
int port)
{
// ...
}
}
builderIResourceBuilder<AzureStorageEmulatorResource>Storage emulator resource builder.
portintHost port to use.
WithDataBindMount(IResourceBuilder<AzureStorageEmulatorResource>, string?, bool)Section titled WithDataBindMount(IResourceBuilder<AzureStorageEmulatorResource>, string?, bool)extensionIResourceBuilder<AzureStorageEmulatorResource>
Adds a bind mount for the data folder to an Azure Storage emulator resource.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageEmulatorResource> WithDataBindMount(
this IResourceBuilder<AzureStorageEmulatorResource> builder,
string? path = null,
bool isReadOnly = false)
{
// ...
}
}
builderIResourceBuilder<AzureStorageEmulatorResource>The builder for the AzureStorageEmulatorResource.
pathstring?optionalRelative path to the AppHost where emulator storage is persisted between runs. Defaults to the path '.azurite/{builder.Resource.Name}'
isReadOnlybooloptionalA flag that indicates if this is a read-only mount.
IResourceBuilder<AzureStorageEmulatorResource>A builder for the AzureStorageEmulatorResource.
WithDataVolume(IResourceBuilder<AzureStorageEmulatorResource>, string?, bool)Section titled WithDataVolume(IResourceBuilder<AzureStorageEmulatorResource>, string?, bool)extensionIResourceBuilder<AzureStorageEmulatorResource>
Adds a named volume for the data folder to an Azure Storage emulator resource.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageEmulatorResource> WithDataVolume(
this IResourceBuilder<AzureStorageEmulatorResource> builder,
string? name = null,
bool isReadOnly = false)
{
// ...
}
}
builderIResourceBuilder<AzureStorageEmulatorResource>The builder for the AzureStorageEmulatorResource.
namestring?optionalThe name of the volume. Defaults to an auto-generated name based on the application and resource names.
isReadOnlybooloptionalA flag that indicates if this is a read-only volume.
IResourceBuilder<AzureStorageEmulatorResource>A builder for the AzureStorageEmulatorResource.
WithQueuePort(IResourceBuilder<AzureStorageEmulatorResource>, int)Section titled WithQueuePort(IResourceBuilder<AzureStorageEmulatorResource>, int)extensionIResourceBuilder<AzureStorageEmulatorResource>
Modifies the host port that the storage emulator listens on for queue requests.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageEmulatorResource> WithQueuePort(
this IResourceBuilder<AzureStorageEmulatorResource> builder,
int port)
{
// ...
}
}
builderIResourceBuilder<AzureStorageEmulatorResource>Storage emulator resource builder.
portintHost port to use.
WithRoleAssignments(IResourceBuilder<T>, IResourceBuilder<AzureStorageResource>, StorageBuiltInRole[])Section titled WithRoleAssignments(IResourceBuilder<T>, IResourceBuilder<AzureStorageResource>, StorageBuiltInRole[])extensionIResourceBuilder<T>
Assigns the specified roles to the given resource, granting it the necessary permissions on the target Azure Storage account. This replaces the default role assignments for the resource.
public static class AzureStorageExtensions
{
public static IResourceBuilder<T> WithRoleAssignments<T>(
this IResourceBuilder<T> builder,
IResourceBuilder<AzureStorageResource> target,
params StorageBuiltInRole[] roles)
{
// ...
}
}
builderIResourceBuilder<T>The resource to which the specified roles will be assigned.
targetIResourceBuilder<AzureStorageResource>The target Azure Storage account.
rolesStorageBuiltInRole[]The built-in storage roles to be assigned.
IResourceBuilder<T>The updated ApplicationModel.IResourceBuilder`1 with the applied role assignments.
Assigns the StorageBlobDataContributor role to the 'Projects.Api' project.
var builder = DistributedApplication.CreateBuilder(args);
var storage = builder.AddAzureStorage("storage");
var blobs = storage.AddBlobs("blobs");
var api = builder.AddProject<Projects.Api>("api")
.WithRoleAssignments(storage, StorageBuiltInRole.StorageBlobDataContributor)
.WithReference(blobs);
WithTablePort(IResourceBuilder<AzureStorageEmulatorResource>, int)Section titled WithTablePort(IResourceBuilder<AzureStorageEmulatorResource>, int)extensionIResourceBuilder<AzureStorageEmulatorResource>
Modifies the host port that the storage emulator listens on for table requests.
public static class AzureStorageExtensions
{
public static IResourceBuilder<AzureStorageEmulatorResource> WithTablePort(
this IResourceBuilder<AzureStorageEmulatorResource> builder,
int port)
{
// ...
}
}
builderIResourceBuilder<AzureStorageEmulatorResource>Storage emulator resource builder.
portintHost port to use.
IResourceBuilder<AzureStorageEmulatorResource>An ApplicationModel.IResourceBuilder`1 for the AzureStorageEmulatorResource.