<PackageReference Include="Azure.Storage.Blobs" Version="12.26.0" />

BlobClientBuilderExtensions

public static class BlobClientBuilderExtensions
Extension methods to add BlobServiceClient client to clients builder.
using Azure; using Azure.Core; using Azure.Core.Extensions; using Azure.Storage; using Azure.Storage.Blobs; using System; using System.Diagnostics.CodeAnalysis; namespace Microsoft.Extensions.Azure { public static class BlobClientBuilderExtensions { public static IAzureClientBuilder<BlobServiceClient, BlobClientOptions> AddBlobServiceClient<TBuilder>(this TBuilder builder, string connectionString) where TBuilder : IAzureClientFactoryBuilder { ref TBuilder reference = ref builder; TBuilder val = default(TBuilder); if (val == null) { val = reference; ref reference = ref val; } return reference.RegisterClientFactory<BlobServiceClient, BlobClientOptions>((Func<BlobClientOptions, BlobServiceClient>)((BlobClientOptions options) => new BlobServiceClient(connectionString, options))); } public static IAzureClientBuilder<BlobServiceClient, BlobClientOptions> AddBlobServiceClient<TBuilder>(this TBuilder builder, Uri serviceUri) where TBuilder : IAzureClientFactoryBuilderWithCredential { ref TBuilder reference = ref builder; TBuilder val = default(TBuilder); if (val == null) { val = reference; ref reference = ref val; } return reference.RegisterClientFactory<BlobServiceClient, BlobClientOptions>((Func<BlobClientOptions, TokenCredential, BlobServiceClient>)delegate(BlobClientOptions options, TokenCredential token) { if (token == null) return new BlobServiceClient(serviceUri, options); return new BlobServiceClient(serviceUri, token, options); }, false); } public static IAzureClientBuilder<BlobServiceClient, BlobClientOptions> AddBlobServiceClient<TBuilder>(this TBuilder builder, Uri serviceUri, StorageSharedKeyCredential sharedKeyCredential) where TBuilder : IAzureClientFactoryBuilder { ref TBuilder reference = ref builder; TBuilder val = default(TBuilder); if (val == null) { val = reference; ref reference = ref val; } return reference.RegisterClientFactory<BlobServiceClient, BlobClientOptions>((Func<BlobClientOptions, BlobServiceClient>)((BlobClientOptions options) => new BlobServiceClient(serviceUri, sharedKeyCredential, options))); } public static IAzureClientBuilder<BlobServiceClient, BlobClientOptions> AddBlobServiceClient<TBuilder>(this TBuilder builder, Uri serviceUri, TokenCredential tokenCredential) where TBuilder : IAzureClientFactoryBuilderWithCredential { ref TBuilder reference = ref builder; TBuilder val = default(TBuilder); if (val == null) { val = reference; ref reference = ref val; } return reference.RegisterClientFactory<BlobServiceClient, BlobClientOptions>((Func<BlobClientOptions, TokenCredential, BlobServiceClient>)((BlobClientOptions options, TokenCredential token) => new BlobServiceClient(serviceUri, token, options)), true); } public static IAzureClientBuilder<BlobServiceClient, BlobClientOptions> AddBlobServiceClient<TBuilder>(this TBuilder builder, Uri serviceUri, AzureSasCredential sasCredential) where TBuilder : IAzureClientFactoryBuilder { ref TBuilder reference = ref builder; TBuilder val = default(TBuilder); if (val == null) { val = reference; ref reference = ref val; } return reference.RegisterClientFactory<BlobServiceClient, BlobClientOptions>((Func<BlobClientOptions, BlobServiceClient>)((BlobClientOptions options) => new BlobServiceClient(serviceUri, sasCredential, options))); } [System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Binding strongly typed objects to configuration values is not supported with trimming. Use the Configuration Binder Source Generator (EnableConfigurationBindingGenerator=true) instead.")] [System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Binding strongly typed objects to configuration values requires generating dynamic code at runtime, for example instantiating generic types. Use the Configuration Binder Source Generator (EnableConfigurationBindingGenerator=true) instead.")] public static IAzureClientBuilder<BlobServiceClient, BlobClientOptions> AddBlobServiceClient<TBuilder, TConfiguration>(this TBuilder builder, TConfiguration configuration) where TBuilder : IAzureClientFactoryBuilderWithConfiguration<TConfiguration> { return builder.RegisterClientFactory<BlobServiceClient, BlobClientOptions>(configuration); } } }