@Override
  protected BlobServiceAsyncClient buildBlobServiceAsyncClient(HttpClient httpClient, Configuration configuration,
      RequestRetryOptions retryOptions, AzureCloudConfig azureCloudConfig) {
    return new BlobServiceClientBuilder().credential(AzureUtils.getClientSecretCredential(azureCloudConfig))
        .endpoint(storageAccountInfo() != null ? storageAccountInfo().getStorageEndpoint() : azureCloudConfig.azureStorageEndpoint)
        .httpClient(httpClient)
        .retryOptions(retryOptions)
        .configuration(configuration)
        .buildAsyncClient();
  }
Build {@link BlobServiceAsyncClient}.
@param httpClient {@link HttpClient} object.
@param configuration {@link Configuration} object.
@param retryOptions {@link RequestRetryOptions} object.
@param azureCloudConfig {@link AzureCloudConfig} object.
@return {@link BlobServiceAsyncClient} object.
ambry-cloud/src/main/java/com/github/ambry/cloud/azure/ClientSecretCredentialStorageClient.java