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

BlobServiceClient

public class BlobServiceClient
The BlobServiceClient allows you to manipulate Azure Storage service resources and blob containers. The storage account provides the top-level namespace for the Blob service.
using Azure.Core; using Azure.Core.Pipeline; using Azure.Storage.Blobs.Models; using Azure.Storage.Common; using Azure.Storage.Cryptography; using Azure.Storage.Sas; using System; using System.Collections.Generic; using System.ComponentModel; using System.Runtime.CompilerServices; using System.Threading; using System.Threading.Tasks; namespace Azure.Storage.Blobs { public class BlobServiceClient { private readonly Uri _uri; private readonly BlobClientConfiguration _clientConfiguration; private readonly HttpPipelinePolicy _authenticationPolicy; private readonly ClientSideEncryptionOptions _clientSideEncryption; private string _accountName; private readonly ServiceRestClient _serviceRestClient; public virtual Uri Uri => _uri; internal virtual BlobClientConfiguration ClientConfiguration => _clientConfiguration; internal virtual HttpPipelinePolicy AuthenticationPolicy => _authenticationPolicy; internal virtual ClientSideEncryptionOptions ClientSideEncryption => _clientSideEncryption; public string AccountName { get { if (_accountName == null) _accountName = new BlobUriBuilder(Uri).AccountName; return _accountName; } } public virtual bool CanGenerateAccountSasUri => (object)ClientConfiguration.SharedKeyCredential != null; internal virtual ServiceRestClient ServiceRestClient => _serviceRestClient; protected BlobServiceClient() { } public BlobServiceClient(string connectionString) : this(connectionString, null) { } public BlobServiceClient(string connectionString, BlobClientOptions options) { StorageConnectionString storageConnectionString = StorageConnectionString.Parse(connectionString); _uri = storageConnectionString.BlobEndpoint; if (options == null) options = new BlobClientOptions(BlobClientOptions.ServiceVersion.V2025_07_05); _authenticationPolicy = StorageClientOptions.GetAuthenticationPolicy(storageConnectionString.Credentials, null, null); _accountName = storageConnectionString.AccountName; _clientConfiguration = new BlobClientConfiguration(options.Build(_authenticationPolicy), storageConnectionString.Credentials as StorageSharedKeyCredential, new ClientDiagnostics(options, null), options.Version, options.CustomerProvidedKey, options.TransferValidation, options.EncryptionScope, options.TrimBlobNameSlashes); ClientSideEncryptionOptions clientSideEncryptionOptions = options._clientSideEncryptionOptions; _clientSideEncryption = ((clientSideEncryptionOptions != null) ? clientSideEncryptionOptions.Clone() : null); _serviceRestClient = BuildServiceRestClient(_uri); BlobErrors.VerifyHttpsCustomerProvidedKey(_uri, _clientConfiguration.CustomerProvidedKey); BlobErrors.VerifyCpkAndEncryptionScopeNotBothSet(_clientConfiguration.CustomerProvidedKey, _clientConfiguration.EncryptionScope); } public BlobServiceClient(Uri serviceUri, BlobClientOptions options = null) : this(serviceUri, null, options ?? new BlobClientOptions(BlobClientOptions.ServiceVersion.V2025_07_05)) { } public BlobServiceClient(Uri serviceUri, StorageSharedKeyCredential credential, BlobClientOptions options = null) : this(serviceUri, credential.AsPolicy(), credential, options ?? new BlobClientOptions(BlobClientOptions.ServiceVersion.V2025_07_05)) { } public BlobServiceClient(Uri serviceUri, AzureSasCredential credential, BlobClientOptions options = null) : this(serviceUri, credential.AsPolicy<BlobUriBuilder>(serviceUri), credential, options ?? new BlobClientOptions(BlobClientOptions.ServiceVersion.V2025_07_05)) { } public BlobServiceClient(Uri serviceUri, TokenCredential credential, BlobClientOptions options = null) { object value; BlobAudience? audience; BlobAudience blobAudience; if (options == null) value = null; else { audience = options.Audience; if (!audience.HasValue) value = null; else { blobAudience = audience.GetValueOrDefault(); value = blobAudience.ToString(); } } object scope; if (!string.IsNullOrEmpty((string)value)) { audience = options.Audience; blobAudience = audience.Value; scope = blobAudience.CreateDefaultScope(); } else { blobAudience = BlobAudience.DefaultAudience; scope = blobAudience.CreateDefaultScope(); } this..ctor(serviceUri, credential.AsPolicy((string)scope, options), credential, options ?? new BlobClientOptions(BlobClientOptions.ServiceVersion.V2025_07_05)); Errors.VerifyHttpsTokenAuth(serviceUri); } internal BlobServiceClient(Uri serviceUri, HttpPipelinePolicy authentication, BlobClientOptions options) { BlobClientConfiguration clientConfiguration = new BlobClientConfiguration(options.Build(authentication), null, new ClientDiagnostics(options, null), options?.Version ?? BlobClientOptions.ServiceVersion.V2025_07_05, options?.CustomerProvidedKey, options.TransferValidation, options?.EncryptionScope, options?.TrimBlobNameSlashes ?? false); object clientSideEncryption; if (options == null) clientSideEncryption = null; else { ClientSideEncryptionOptions clientSideEncryptionOptions = options._clientSideEncryptionOptions; clientSideEncryption = ((clientSideEncryptionOptions != null) ? clientSideEncryptionOptions.Clone() : null); } this..ctor(serviceUri, clientConfiguration, authentication, clientSideEncryption); } internal BlobServiceClient(Uri serviceUri, HttpPipelinePolicy authentication, StorageSharedKeyCredential storageSharedKeyCredential, BlobClientOptions options) { BlobClientConfiguration clientConfiguration = new BlobClientConfiguration(options.Build(authentication), storageSharedKeyCredential, new ClientDiagnostics(options, null), options?.Version ?? BlobClientOptions.ServiceVersion.V2025_07_05, options?.CustomerProvidedKey, options.TransferValidation, options?.EncryptionScope, options?.TrimBlobNameSlashes ?? false); object clientSideEncryption; if (options == null) clientSideEncryption = null; else { ClientSideEncryptionOptions clientSideEncryptionOptions = options._clientSideEncryptionOptions; clientSideEncryption = ((clientSideEncryptionOptions != null) ? clientSideEncryptionOptions.Clone() : null); } this..ctor(serviceUri, clientConfiguration, authentication, clientSideEncryption); if (_accountName == null) _accountName = ((storageSharedKeyCredential != null) ? storageSharedKeyCredential.get_AccountName() : null); } internal BlobServiceClient(Uri serviceUri, HttpPipelinePolicy authentication, TokenCredential tokenCredential, BlobClientOptions options) { BlobClientConfiguration clientConfiguration = new BlobClientConfiguration(options.Build(authentication), tokenCredential, new ClientDiagnostics(options, null), options?.Version ?? BlobClientOptions.ServiceVersion.V2025_07_05, options?.CustomerProvidedKey, options.TransferValidation, options?.EncryptionScope, options?.TrimBlobNameSlashes ?? false); object clientSideEncryption; if (options == null) clientSideEncryption = null; else { ClientSideEncryptionOptions clientSideEncryptionOptions = options._clientSideEncryptionOptions; clientSideEncryption = ((clientSideEncryptionOptions != null) ? clientSideEncryptionOptions.Clone() : null); } this..ctor(serviceUri, clientConfiguration, authentication, clientSideEncryption); } internal BlobServiceClient(Uri serviceUri, HttpPipelinePolicy authentication, AzureSasCredential sasCredential, BlobClientOptions options) { BlobClientConfiguration clientConfiguration = new BlobClientConfiguration(options.Build(authentication), sasCredential, new ClientDiagnostics(options, null), options?.Version ?? BlobClientOptions.ServiceVersion.V2025_07_05, options?.CustomerProvidedKey, options.TransferValidation, options?.EncryptionScope, options?.TrimBlobNameSlashes ?? false); object clientSideEncryption; if (options == null) clientSideEncryption = null; else { ClientSideEncryptionOptions clientSideEncryptionOptions = options._clientSideEncryptionOptions; clientSideEncryption = ((clientSideEncryptionOptions != null) ? clientSideEncryptionOptions.Clone() : null); } this..ctor(serviceUri, clientConfiguration, authentication, clientSideEncryption); } internal BlobServiceClient(Uri serviceUri, BlobClientConfiguration clientConfiguration, HttpPipelinePolicy authentication, ClientSideEncryptionOptions clientSideEncryption) { Argument.AssertNotNull(serviceUri, "serviceUri"); _uri = serviceUri; _clientConfiguration = clientConfiguration; _authenticationPolicy = authentication; _clientSideEncryption = ((clientSideEncryption != null) ? clientSideEncryption.Clone() : null); _serviceRestClient = BuildServiceRestClient(serviceUri); BlobErrors.VerifyCpkAndEncryptionScopeNotBothSet(_clientConfiguration.CustomerProvidedKey, _clientConfiguration.EncryptionScope); BlobErrors.VerifyHttpsCustomerProvidedKey(_uri, _clientConfiguration.CustomerProvidedKey); } protected static BlobServiceClient CreateClient(Uri serviceUri, BlobClientOptions options, HttpPipelinePolicy authentication, HttpPipeline pipeline, StorageSharedKeyCredential sharedKeyCredential, AzureSasCredential sasCredential, TokenCredential tokenCredential) { return new BlobServiceClient(serviceUri, new BlobClientConfiguration(pipeline, sharedKeyCredential, tokenCredential, sasCredential, new ClientDiagnostics(options, null), options.Version, null, options.TransferValidation, null, options.TrimBlobNameSlashes), authentication, null); } [EditorBrowsable(EditorBrowsableState.Never)] protected static BlobServiceClient CreateClient(Uri serviceUri, BlobClientOptions options, HttpPipelinePolicy authentication, HttpPipeline pipeline) { return new BlobServiceClient(serviceUri, new BlobClientConfiguration(pipeline, null, new ClientDiagnostics(options, null), options.Version, (CustomerProvidedKey?)null, options.TransferValidation, (string)null, options.TrimBlobNameSlashes), authentication, null); } private ServiceRestClient BuildServiceRestClient(Uri uri) { return new ServiceRestClient(_clientConfiguration.ClientDiagnostics, _clientConfiguration.Pipeline, uri.AbsoluteUri, _clientConfiguration.Version.ToVersionString()); } public virtual BlobContainerClient GetBlobContainerClient(string blobContainerName) { return new BlobContainerClient(Uri.AppendToPath(blobContainerName), ClientConfiguration, AuthenticationPolicy, ClientSideEncryption); } protected static HttpPipeline GetHttpPipeline(BlobServiceClient client) { return client.ClientConfiguration.Pipeline; } protected static HttpPipelinePolicy GetAuthenticationPolicy(BlobServiceClient client) { return client.AuthenticationPolicy; } protected static BlobClientOptions GetClientOptions(BlobServiceClient client) { BlobClientOptions blobClientOptions = new BlobClientOptions(client.ClientConfiguration.Version); blobClientOptions.get_Diagnostics().set_IsDistributedTracingEnabled(client.ClientConfiguration.ClientDiagnostics.IsActivityEnabled); return blobClientOptions; } public virtual Pageable<BlobContainerItem> GetBlobContainers(BlobContainerTraits traits = BlobContainerTraits.None, BlobContainerStates states = BlobContainerStates.None, string prefix = null, CancellationToken cancellationToken = default(CancellationToken)) { return new GetBlobContainersAsyncCollection(this, traits, states, prefix).ToSyncCollection(cancellationToken); } [EditorBrowsable(EditorBrowsableState.Never)] public virtual Pageable<BlobContainerItem> GetBlobContainers(BlobContainerTraits traits, string prefix, CancellationToken cancellationToken) { return new GetBlobContainersAsyncCollection(this, traits, BlobContainerStates.None, prefix).ToSyncCollection(cancellationToken); } public virtual AsyncPageable<BlobContainerItem> GetBlobContainersAsync(BlobContainerTraits traits = BlobContainerTraits.None, BlobContainerStates states = BlobContainerStates.None, string prefix = null, CancellationToken cancellationToken = default(CancellationToken)) { return new GetBlobContainersAsyncCollection(this, traits, states, prefix).ToAsyncCollection(cancellationToken); } [EditorBrowsable(EditorBrowsableState.Never)] public virtual AsyncPageable<BlobContainerItem> GetBlobContainersAsync(BlobContainerTraits traits, string prefix, CancellationToken cancellationToken) { return new GetBlobContainersAsyncCollection(this, traits, BlobContainerStates.None, prefix).ToAsyncCollection(cancellationToken); } [AsyncStateMachine(typeof(<GetBlobContainersInternal>d__43))] internal Task<Response<ListContainersSegmentResponse>> GetBlobContainersInternal(string continuationToken, BlobContainerTraits traits, BlobContainerStates states, string prefix, int? pageSizeHint, bool async, CancellationToken cancellationToken) { <GetBlobContainersInternal>d__43 stateMachine = default(<GetBlobContainersInternal>d__43); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<ListContainersSegmentResponse>>.Create(); stateMachine.<>4__this = this; stateMachine.continuationToken = continuationToken; stateMachine.traits = traits; stateMachine.states = states; stateMachine.prefix = prefix; stateMachine.pageSizeHint = pageSizeHint; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } public virtual Response<AccountInfo> GetAccountInfo(CancellationToken cancellationToken = default(CancellationToken)) { return GetAccountInfoInternal(false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<GetAccountInfoAsync>d__45))] public virtual Task<Response<AccountInfo>> GetAccountInfoAsync(CancellationToken cancellationToken = default(CancellationToken)) { <GetAccountInfoAsync>d__45 stateMachine = default(<GetAccountInfoAsync>d__45); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<AccountInfo>>.Create(); stateMachine.<>4__this = this; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<GetAccountInfoInternal>d__46))] private Task<Response<AccountInfo>> GetAccountInfoInternal(bool async, CancellationToken cancellationToken) { <GetAccountInfoInternal>d__46 stateMachine = default(<GetAccountInfoInternal>d__46); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<AccountInfo>>.Create(); stateMachine.<>4__this = this; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } public virtual Response<BlobServiceProperties> GetProperties(CancellationToken cancellationToken = default(CancellationToken)) { return GetPropertiesInternal(false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<GetPropertiesAsync>d__48))] public virtual Task<Response<BlobServiceProperties>> GetPropertiesAsync(CancellationToken cancellationToken = default(CancellationToken)) { <GetPropertiesAsync>d__48 stateMachine = default(<GetPropertiesAsync>d__48); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobServiceProperties>>.Create(); stateMachine.<>4__this = this; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<GetPropertiesInternal>d__49))] private Task<Response<BlobServiceProperties>> GetPropertiesInternal(bool async, CancellationToken cancellationToken) { <GetPropertiesInternal>d__49 stateMachine = default(<GetPropertiesInternal>d__49); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobServiceProperties>>.Create(); stateMachine.<>4__this = this; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public virtual Response SetProperties(BlobServiceProperties properties, CancellationToken cancellationToken = default(CancellationToken)) { return SetPropertiesInternal(properties, false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<SetPropertiesAsync>d__51))] [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public virtual Task<Response> SetPropertiesAsync(BlobServiceProperties properties, CancellationToken cancellationToken = default(CancellationToken)) { <SetPropertiesAsync>d__51 stateMachine = default(<SetPropertiesAsync>d__51); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response>.Create(); stateMachine.<>4__this = this; stateMachine.properties = properties; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<SetPropertiesInternal>d__52))] private Task<Response> SetPropertiesInternal(BlobServiceProperties properties, bool async, CancellationToken cancellationToken) { <SetPropertiesInternal>d__52 stateMachine = default(<SetPropertiesInternal>d__52); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response>.Create(); stateMachine.<>4__this = this; stateMachine.properties = properties; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } public virtual Response<BlobServiceStatistics> GetStatistics(CancellationToken cancellationToken = default(CancellationToken)) { return GetStatisticsInternal(false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<GetStatisticsAsync>d__54))] public virtual Task<Response<BlobServiceStatistics>> GetStatisticsAsync(CancellationToken cancellationToken = default(CancellationToken)) { <GetStatisticsAsync>d__54 stateMachine = default(<GetStatisticsAsync>d__54); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobServiceStatistics>>.Create(); stateMachine.<>4__this = this; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<GetStatisticsInternal>d__55))] private Task<Response<BlobServiceStatistics>> GetStatisticsInternal(bool async, CancellationToken cancellationToken) { <GetStatisticsInternal>d__55 stateMachine = default(<GetStatisticsInternal>d__55); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobServiceStatistics>>.Create(); stateMachine.<>4__this = this; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public virtual Response<UserDelegationKey> GetUserDelegationKey(DateTimeOffset? startsOn, DateTimeOffset expiresOn, CancellationToken cancellationToken = default(CancellationToken)) { return GetUserDelegationKeyInternal(startsOn, expiresOn, false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<GetUserDelegationKeyAsync>d__57))] [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public virtual Task<Response<UserDelegationKey>> GetUserDelegationKeyAsync(DateTimeOffset? startsOn, DateTimeOffset expiresOn, CancellationToken cancellationToken = default(CancellationToken)) { <GetUserDelegationKeyAsync>d__57 stateMachine = default(<GetUserDelegationKeyAsync>d__57); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<UserDelegationKey>>.Create(); stateMachine.<>4__this = this; stateMachine.startsOn = startsOn; stateMachine.expiresOn = expiresOn; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<GetUserDelegationKeyInternal>d__58))] private Task<Response<UserDelegationKey>> GetUserDelegationKeyInternal(DateTimeOffset? startsOn, DateTimeOffset expiresOn, bool async, CancellationToken cancellationToken) { <GetUserDelegationKeyInternal>d__58 stateMachine = default(<GetUserDelegationKeyInternal>d__58); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<UserDelegationKey>>.Create(); stateMachine.<>4__this = this; stateMachine.startsOn = startsOn; stateMachine.expiresOn = expiresOn; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [ForwardsClientCalls] public virtual Response<BlobContainerClient> CreateBlobContainer(string blobContainerName, PublicAccessType publicAccessType = PublicAccessType.None, IDictionary<string, string> metadata = null, CancellationToken cancellationToken = default(CancellationToken)) { BlobContainerClient blobContainerClient = GetBlobContainerClient(blobContainerName); Response<BlobContainerInfo> val = blobContainerClient.Create(publicAccessType, metadata, cancellationToken); return Response.FromValue<BlobContainerClient>(blobContainerClient, val.GetRawResponse()); } [AsyncStateMachine(typeof(<CreateBlobContainerAsync>d__60))] [ForwardsClientCalls] public virtual Task<Response<BlobContainerClient>> CreateBlobContainerAsync(string blobContainerName, PublicAccessType publicAccessType = PublicAccessType.None, IDictionary<string, string> metadata = null, CancellationToken cancellationToken = default(CancellationToken)) { <CreateBlobContainerAsync>d__60 stateMachine = default(<CreateBlobContainerAsync>d__60); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobContainerClient>>.Create(); stateMachine.<>4__this = this; stateMachine.blobContainerName = blobContainerName; stateMachine.publicAccessType = publicAccessType; stateMachine.metadata = metadata; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [ForwardsClientCalls] public virtual Response DeleteBlobContainer(string blobContainerName, BlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)) { return GetBlobContainerClient(blobContainerName).Delete(conditions, cancellationToken); } [AsyncStateMachine(typeof(<DeleteBlobContainerAsync>d__62))] [ForwardsClientCalls] public virtual Task<Response> DeleteBlobContainerAsync(string blobContainerName, BlobRequestConditions conditions = null, CancellationToken cancellationToken = default(CancellationToken)) { <DeleteBlobContainerAsync>d__62 stateMachine = default(<DeleteBlobContainerAsync>d__62); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response>.Create(); stateMachine.<>4__this = this; stateMachine.blobContainerName = blobContainerName; stateMachine.conditions = conditions; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } public virtual Response<BlobContainerClient> UndeleteBlobContainer(string deletedContainerName, string deletedContainerVersion, CancellationToken cancellationToken = default(CancellationToken)) { return UndeleteBlobContainerInternal(deletedContainerName, deletedContainerVersion, deletedContainerName, false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<UndeleteBlobContainerAsync>d__64))] public virtual Task<Response<BlobContainerClient>> UndeleteBlobContainerAsync(string deletedContainerName, string deletedContainerVersion, CancellationToken cancellationToken = default(CancellationToken)) { <UndeleteBlobContainerAsync>d__64 stateMachine = default(<UndeleteBlobContainerAsync>d__64); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobContainerClient>>.Create(); stateMachine.<>4__this = this; stateMachine.deletedContainerName = deletedContainerName; stateMachine.deletedContainerVersion = deletedContainerVersion; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [EditorBrowsable(EditorBrowsableState.Never)] public virtual Response<BlobContainerClient> UndeleteBlobContainer(string deletedContainerName, string deletedContainerVersion, string destinationContainerName, CancellationToken cancellationToken = default(CancellationToken)) { return UndeleteBlobContainerInternal(deletedContainerName, deletedContainerVersion, destinationContainerName, false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<UndeleteBlobContainerAsync>d__66))] [EditorBrowsable(EditorBrowsableState.Never)] public virtual Task<Response<BlobContainerClient>> UndeleteBlobContainerAsync(string deletedContainerName, string deletedContainerVersion, string destinationContainerName, CancellationToken cancellationToken = default(CancellationToken)) { <UndeleteBlobContainerAsync>d__66 stateMachine = default(<UndeleteBlobContainerAsync>d__66); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobContainerClient>>.Create(); stateMachine.<>4__this = this; stateMachine.deletedContainerName = deletedContainerName; stateMachine.deletedContainerVersion = deletedContainerVersion; stateMachine.destinationContainerName = destinationContainerName; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<UndeleteBlobContainerInternal>d__67))] internal Task<Response<BlobContainerClient>> UndeleteBlobContainerInternal(string deletedContainerName, string deletedContainerVersion, string destinationContainerName, bool async, CancellationToken cancellationToken) { <UndeleteBlobContainerInternal>d__67 stateMachine = default(<UndeleteBlobContainerInternal>d__67); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobContainerClient>>.Create(); stateMachine.<>4__this = this; stateMachine.deletedContainerName = deletedContainerName; stateMachine.deletedContainerVersion = deletedContainerVersion; stateMachine.destinationContainerName = destinationContainerName; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } internal virtual Response<BlobContainerClient> RenameBlobContainer(string sourceContainerName, string destinationContainerName, BlobRequestConditions sourceConditions = null, CancellationToken cancellationToken = default(CancellationToken)) { return RenameBlobContainerInternal(sourceContainerName, destinationContainerName, sourceConditions, false, cancellationToken).EnsureCompleted(); } [AsyncStateMachine(typeof(<RenameBlobContainerAsync>d__69))] internal virtual Task<Response<BlobContainerClient>> RenameBlobContainerAsync(string sourceContainerName, string destinationContainerName, BlobRequestConditions sourceConditions = null, CancellationToken cancellationToken = default(CancellationToken)) { <RenameBlobContainerAsync>d__69 stateMachine = default(<RenameBlobContainerAsync>d__69); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobContainerClient>>.Create(); stateMachine.<>4__this = this; stateMachine.sourceContainerName = sourceContainerName; stateMachine.destinationContainerName = destinationContainerName; stateMachine.sourceConditions = sourceConditions; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [AsyncStateMachine(typeof(<RenameBlobContainerInternal>d__70))] internal Task<Response<BlobContainerClient>> RenameBlobContainerInternal(string sourceContainerName, string destinationContainerName, BlobRequestConditions sourceConditions, bool async, CancellationToken cancellationToken) { <RenameBlobContainerInternal>d__70 stateMachine = default(<RenameBlobContainerInternal>d__70); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<BlobContainerClient>>.Create(); stateMachine.<>4__this = this; stateMachine.sourceContainerName = sourceContainerName; stateMachine.destinationContainerName = destinationContainerName; stateMachine.sourceConditions = sourceConditions; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } public virtual Pageable<TaggedBlobItem> FindBlobsByTags(string tagFilterSqlExpression, CancellationToken cancellationToken = default(CancellationToken)) { return new FilterBlobsAsyncCollection(this, tagFilterSqlExpression).ToSyncCollection(cancellationToken); } public virtual AsyncPageable<TaggedBlobItem> FindBlobsByTagsAsync(string tagFilterSqlExpression, CancellationToken cancellationToken = default(CancellationToken)) { return new FilterBlobsAsyncCollection(this, tagFilterSqlExpression).ToAsyncCollection(cancellationToken); } [AsyncStateMachine(typeof(<FindBlobsByTagsInternal>d__73))] internal Task<Response<FilterBlobSegment>> FindBlobsByTagsInternal(string marker, string expression, int? pageSizeHint, bool async, CancellationToken cancellationToken) { <FindBlobsByTagsInternal>d__73 stateMachine = default(<FindBlobsByTagsInternal>d__73); stateMachine.<>t__builder = AsyncTaskMethodBuilder<Response<FilterBlobSegment>>.Create(); stateMachine.<>4__this = this; stateMachine.marker = marker; stateMachine.expression = expression; stateMachine.pageSizeHint = pageSizeHint; stateMachine.async = async; stateMachine.cancellationToken = cancellationToken; stateMachine.<>1__state = -1; stateMachine.<>t__builder.Start(ref stateMachine); return stateMachine.<>t__builder.Task; } [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public Uri GenerateAccountSasUri(AccountSasPermissions permissions, DateTimeOffset expiresOn, AccountSasResourceTypes resourceTypes) { string stringToSign; return GenerateAccountSasUri(permissions, expiresOn, resourceTypes, out stringToSign); } [EditorBrowsable(EditorBrowsableState.Never)] [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public Uri GenerateAccountSasUri(AccountSasPermissions permissions, DateTimeOffset expiresOn, AccountSasResourceTypes resourceTypes, out string stringToSign) { return GenerateAccountSasUri(new AccountSasBuilder(permissions, expiresOn, 1, resourceTypes), out stringToSign); } [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public Uri GenerateAccountSasUri(AccountSasBuilder builder) { string stringToSign; return GenerateAccountSasUri(builder, out stringToSign); } [EditorBrowsable(EditorBrowsableState.Never)] [CallerShouldAudit("https://aka.ms/azsdk/callershouldaudit/storage-blobs")] public Uri GenerateAccountSasUri(AccountSasBuilder builder, out string stringToSign) { AccountSasBuilder obj = builder; if (obj == null) throw Errors.ArgumentNull("builder"); builder = obj; if (!((Enum)builder.get_Services()).HasFlag((Enum)(object)1)) throw Errors.SasServiceNotMatching("Services", "builder", "Blobs"); return new UriBuilder(Uri) { Query = ((object)builder.ToSasQueryParameters(ClientConfiguration.SharedKeyCredential, ref stringToSign)).ToString() }.Uri; } } }