/// <summary>
 /// Initializes a new instance of the <see cref="BlobClient"/>
 /// class.
 /// </summary>
 /// <param name="connectionString">
 /// A connection string includes the authentication information
 /// required for your application to access data in an Azure Storage
 /// account at runtime.
 ///
 /// For more information, <see href="https://docs.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string"/>.
 /// </param>
 /// <param name="containerName">
 /// The name of the container containing this blob.
 /// </param>
 /// <param name="blobName">
 /// The name of this blob.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobClient(string connectionString, string containerName, string blobName, BlobClientOptions options)
     : base(connectionString, containerName, blobName, options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobClient"/>
 /// class.
 /// </summary>
 /// <param name="blobUri">
 /// A <see cref="Uri"/> referencing the blob that includes the
 /// name of the account, the name of the container, and the name of
 /// the blob.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobClient(Uri blobUri, BlobClientOptions options = default)
     : base(blobUri, options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobClient"/>
 /// class.
 /// </summary>
 /// <param name="blobUri">
 /// A <see cref="Uri"/> referencing the blob that includes the
 /// name of the account, the name of the container, and the name of
 /// the blob.
 /// </param>
 /// <param name="credential">
 /// The shared key credential used to sign requests.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobClient(Uri blobUri, StorageSharedKeyCredential credential, BlobClientOptions options = default)
     : base(blobUri, credential, options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobClient"/>
 /// class.
 /// </summary>
 /// <param name="blobUri">
 /// A <see cref="Uri"/> referencing the blob that includes the
 /// name of the account, the name of the container, and the name of
 /// the blob.
 /// </param>
 /// <param name="credential">
 /// The token credential used to sign requests.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobClient(Uri blobUri, TokenCredential credential, BlobClientOptions options = default)
     : base(blobUri, credential, options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobServiceClient"/>
 /// class.
 /// </summary>
 /// <param name="serviceUri">
 /// A <see cref="Uri"/> referencing the blob service.
 /// </param>
 /// <param name="authentication">
 /// An optional authentication policy used to sign requests.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 internal BlobServiceClient(Uri serviceUri, HttpPipelinePolicy authentication, BlobClientOptions options)
 {
     this._uri      = serviceUri;
     this._pipeline = (options ?? new BlobClientOptions()).Build(authentication);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobServiceClient"/>
 /// class.
 /// </summary>
 /// <param name="serviceUri">
 /// A <see cref="Uri"/> referencing the blob service.
 /// </param>
 /// <param name="credential">
 /// The token credential used to sign requests.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobServiceClient(Uri serviceUri, TokenCredential credential, BlobClientOptions options = default)
     : this(serviceUri, credential.AsPolicy(), options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobServiceClient"/>
 /// class.
 /// </summary>
 /// <param name="serviceUri">
 /// A <see cref="Uri"/> referencing the blob service.
 /// </param>
 /// <param name="credential">
 /// The shared key credential used to sign requests.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobServiceClient(Uri serviceUri, StorageSharedKeyCredential credential, BlobClientOptions options = default)
     : this(serviceUri, credential.AsPolicy(), options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobServiceClient"/>
 /// class.
 /// </summary>
 /// <param name="serviceUri">
 /// A <see cref="Uri"/> referencing the blob service.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 public BlobServiceClient(Uri serviceUri, BlobClientOptions options = default)
     : this(serviceUri, (HttpPipelinePolicy)null, options)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BlobServiceClient"/>
 /// class.
 /// </summary>
 /// <param name="serviceUri">
 /// A <see cref="Uri"/> referencing the blob service.
 /// </param>
 /// <param name="authentication">
 /// An optional authentication policy used to sign requests.
 /// </param>
 /// <param name="options">
 /// Optional client options that define the transport pipeline
 /// policies for authentication, retries, etc., that are applied to
 /// every request.
 /// </param>
 internal BlobServiceClient(Uri serviceUri, HttpPipelinePolicy authentication, BlobClientOptions options)
 {
     _uri = serviceUri;
     options ??= new BlobClientOptions();
     _pipeline = options.Build(authentication);
 }