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

BlobClientOptions

Provides the client configuration options for connecting to Azure Blob Storage.
using Azure.Core.Pipeline; using Azure.Storage.Blobs.Models; using Azure.Storage.Shared; using System; namespace Azure.Storage.Blobs { public class BlobClientOptions : ISupportsTenantIdChallenges { public enum ServiceVersion { V2019_02_02 = 1, V2019_07_07, V2019_12_12, V2020_02_10, V2020_04_08, V2020_06_12, V2020_08_04, V2020_10_02, V2020_12_06, V2021_02_12, V2021_04_10, V2021_06_08, V2021_08_06, V2021_10_04, V2021_12_02, V2022_11_02, V2023_01_03, V2023_05_03, V2023_08_03, V2023_11_03, V2024_02_04, V2024_05_04, V2024_08_04, V2024_11_04, V2025_01_05, V2025_05_05, V2025_07_05, V2025_11_05 } internal const ServiceVersion LatestVersion = ServiceVersion.V2025_11_05; internal ClientSideEncryptionOptions _clientSideEncryptionOptions; public ServiceVersion Version { get; } public CustomerProvidedKey? CustomerProvidedKey { get; set; } public string EncryptionScope { get; set; } public Uri GeoRedundantSecondaryUri { get; set; } public TransferValidationOptions TransferValidation { get; } = new TransferValidationOptions(); public bool TrimBlobNameSlashes { get; set; } = true; public Request100ContinueOptions Request100ContinueOptions { get; set; } public bool EnableTenantDiscovery { get; set; } public BlobAudience? Audience { get; set; } public BlobClientOptions(ServiceVersion version = ServiceVersion.V2025_11_05) : this() { if (ServiceVersion.V2019_02_02 > version || version > ServiceVersion.V2025_11_05) throw Errors.VersionNotSupported("version"); Version = version; this.Initialize(); AddHeadersAndQueryParameters(); } private void AddHeadersAndQueryParameters() { this.get_Diagnostics().get_LoggedHeaderNames().Add("Access-Control-Allow-Origin"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-date"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-error-code"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-request-id"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-version"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Accept-Ranges"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Content-Disposition"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Content-Encoding"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Content-Language"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Content-MD5"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Content-Range"); this.get_Diagnostics().get_LoggedHeaderNames().Add("Vary"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-content-crc64"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-action"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-completion-time"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-id"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-progress"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-status"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-has-immutability-policy"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-has-legal-hold"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-state"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-status"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-range"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-request-server-encrypted"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-server-encrypted"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-snapshot"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-source-range"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-access-tier"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-access-tier-change-time"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-access-tier-inferred"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-account-kind"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-archive-status"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-append-offset"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-cache-control"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-committed-block-count"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-condition-appendpos"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-condition-maxsize"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-content-disposition"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-content-encoding"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-content-language"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-content-length"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-content-md5"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-content-type"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-public-access"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-sequence-number"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-blob-type"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-destination-snapshot"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-creation-time"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-default-encryption-scope"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-delete-snapshots"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-delete-type-permanent"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-deny-encryption-scope-override"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-encryption-algorithm"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-if-sequence-number-eq"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-if-sequence-number-le"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-if-sequence-number-lt"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-incremental-copy"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-action"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-break-period"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-duration"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-id"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-lease-time"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-page-write"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-proposed-lease-id"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-range-get-content-md5"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-rehydrate-priority"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-sequence-number-action"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-sku-name"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-source-content-md5"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-source-if-match"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-source-if-modified-since"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-source-if-none-match"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-source-if-unmodified-since"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-tag-count"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-encryption-key-sha256"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-source-error-code"); this.get_Diagnostics().get_LoggedHeaderNames().Add("x-ms-copy-source-status-code"); this.get_Diagnostics().get_LoggedQueryParameters().Add("comp"); this.get_Diagnostics().get_LoggedQueryParameters().Add("maxresults"); this.get_Diagnostics().get_LoggedQueryParameters().Add("rscc"); this.get_Diagnostics().get_LoggedQueryParameters().Add("rscd"); this.get_Diagnostics().get_LoggedQueryParameters().Add("rsce"); this.get_Diagnostics().get_LoggedQueryParameters().Add("rscl"); this.get_Diagnostics().get_LoggedQueryParameters().Add("rsct"); this.get_Diagnostics().get_LoggedQueryParameters().Add("se"); this.get_Diagnostics().get_LoggedQueryParameters().Add("si"); this.get_Diagnostics().get_LoggedQueryParameters().Add("sip"); this.get_Diagnostics().get_LoggedQueryParameters().Add("sp"); this.get_Diagnostics().get_LoggedQueryParameters().Add("spr"); this.get_Diagnostics().get_LoggedQueryParameters().Add("sr"); this.get_Diagnostics().get_LoggedQueryParameters().Add("srt"); this.get_Diagnostics().get_LoggedQueryParameters().Add("ss"); this.get_Diagnostics().get_LoggedQueryParameters().Add("st"); this.get_Diagnostics().get_LoggedQueryParameters().Add("sv"); this.get_Diagnostics().get_LoggedQueryParameters().Add("include"); this.get_Diagnostics().get_LoggedQueryParameters().Add("marker"); this.get_Diagnostics().get_LoggedQueryParameters().Add("prefix"); this.get_Diagnostics().get_LoggedQueryParameters().Add("copyid"); this.get_Diagnostics().get_LoggedQueryParameters().Add("restype"); this.get_Diagnostics().get_LoggedQueryParameters().Add("blockid"); this.get_Diagnostics().get_LoggedQueryParameters().Add("blocklisttype"); this.get_Diagnostics().get_LoggedQueryParameters().Add("delimiter"); this.get_Diagnostics().get_LoggedQueryParameters().Add("prevsnapshot"); this.get_Diagnostics().get_LoggedQueryParameters().Add("ske"); this.get_Diagnostics().get_LoggedQueryParameters().Add("skoid"); this.get_Diagnostics().get_LoggedQueryParameters().Add("sks"); this.get_Diagnostics().get_LoggedQueryParameters().Add("skt"); this.get_Diagnostics().get_LoggedQueryParameters().Add("sktid"); this.get_Diagnostics().get_LoggedQueryParameters().Add("skv"); this.get_Diagnostics().get_LoggedQueryParameters().Add("snapshot"); } internal HttpPipeline Build(HttpPipelinePolicy authentication = null) { return StorageClientOptions.Build(this, authentication, GeoRedundantSecondaryUri, Request100ContinueOptions); } internal HttpPipeline Build(object credentials) { return StorageClientOptions.Build(this, credentials, GeoRedundantSecondaryUri, Request100ContinueOptions); } } }