Package com.azure.storage.blob
Class BlobServiceClientBuilder
- java.lang.Object
-
- com.azure.storage.blob.BlobServiceClientBuilder
-
public final class BlobServiceClientBuilder extends Object
This class provides a fluent builder API to help aid the configuration and instantiation ofBlobServiceClients
andBlobServiceAsyncClients
, callbuildClient
andbuildAsyncClient
respectively to construct an instance of the desired client.The following information must be provided on this builder:
- the endpoint through
.endpoint()
, in the format ofhttps://{accountName}.blob.core.windows.net
. - the credential through
.credential()
or.connectionString()
if the container is not publicly accessible.
- the endpoint through
-
-
Constructor Summary
Constructors Constructor Description BlobServiceClientBuilder()
Creates a builder instance that is able to configure and constructBlobServiceClients
andBlobServiceAsyncClients
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BlobServiceClientBuilder
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)
Adds a pipeline policy to apply on each request sent.BlobServiceClientBuilder
blobContainerEncryptionScope(BlobContainerEncryptionScope blobContainerEncryptionScope)
Sets theencryption scope
that is used to determine how blob contents are encrypted on the server.BlobServiceAsyncClient
buildAsyncClient()
BlobServiceClient
buildClient()
BlobServiceClientBuilder
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options for all the requests made through the client.BlobServiceClientBuilder
configuration(com.azure.core.util.Configuration configuration)
Sets the configuration object used to retrieve environment configuration values during building of the client.BlobServiceClientBuilder
connectionString(String connectionString)
Sets the connection string to connect to the service.BlobServiceClientBuilder
credential(com.azure.core.credential.AzureSasCredential credential)
Sets theAzureSasCredential
used to authorize requests sent to the service.BlobServiceClientBuilder
credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authorize requests sent to the service.BlobServiceClientBuilder
credential(StorageSharedKeyCredential credential)
Sets theStorageSharedKeyCredential
used to authorize requests sent to the service.BlobServiceClientBuilder
customerProvidedKey(CustomerProvidedKey customerProvidedKey)
Sets thecustomer provided key
that is used to encrypt blob contents on the server.BlobServiceClientBuilder
encryptionScope(String encryptionScope)
Sets theencryption scope
that is used to encrypt blob contents on the server.BlobServiceClientBuilder
endpoint(String endpoint)
Sets the blob service endpoint, additionally parses it for information (SAS token)static com.azure.core.http.policy.HttpLogOptions
getDefaultHttpLogOptions()
Gets the default Storage allowlist log headers and query parameters.BlobServiceClientBuilder
httpClient(com.azure.core.http.HttpClient httpClient)
Sets theHttpClient
to use for sending a receiving requests to and from the service.BlobServiceClientBuilder
httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets theHttpLogOptions
for service requests.BlobServiceClientBuilder
pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets theHttpPipeline
to use for the service client.BlobServiceClientBuilder
retryOptions(RequestRetryOptions retryOptions)
Sets the request retry options for all the requests made through the client.BlobServiceClientBuilder
sasToken(String sasToken)
Sets the SAS token used to authorize requests sent to the service.BlobServiceClientBuilder
serviceVersion(BlobServiceVersion version)
Sets theBlobServiceVersion
that is used when making API requests.
-
-
-
Constructor Detail
-
BlobServiceClientBuilder
public BlobServiceClientBuilder()
Creates a builder instance that is able to configure and constructBlobServiceClients
andBlobServiceAsyncClients
.
-
-
Method Detail
-
buildClient
public BlobServiceClient buildClient()
- Returns:
- a
BlobServiceClient
created from the configurations in this builder. - Throws:
IllegalArgumentException
- If no credentials are provided.IllegalStateException
- If multiple credentials have been specified.
-
buildAsyncClient
public BlobServiceAsyncClient buildAsyncClient()
- Returns:
- a
BlobServiceAsyncClient
created from the configurations in this builder. - Throws:
IllegalArgumentException
- If no credentials are provided.IllegalStateException
- If multiple credentials have been specified.
-
endpoint
public BlobServiceClientBuilder endpoint(String endpoint)
Sets the blob service endpoint, additionally parses it for information (SAS token)- Parameters:
endpoint
- URL of the service- Returns:
- the updated BlobServiceClientBuilder object
- Throws:
IllegalArgumentException
- Ifendpoint
isnull
or is a malformed URL.
-
customerProvidedKey
public BlobServiceClientBuilder customerProvidedKey(CustomerProvidedKey customerProvidedKey)
Sets thecustomer provided key
that is used to encrypt blob contents on the server.- Parameters:
customerProvidedKey
- Customer provided key containing the encryption key information.- Returns:
- the updated BlobServiceClientBuilder object
-
encryptionScope
public BlobServiceClientBuilder encryptionScope(String encryptionScope)
Sets theencryption scope
that is used to encrypt blob contents on the server.- Parameters:
encryptionScope
- Encryption scope containing the encryption key information.- Returns:
- the updated BlobServiceClientBuilder object
-
blobContainerEncryptionScope
public BlobServiceClientBuilder blobContainerEncryptionScope(BlobContainerEncryptionScope blobContainerEncryptionScope)
Sets theencryption scope
that is used to determine how blob contents are encrypted on the server.- Parameters:
blobContainerEncryptionScope
- Encryption scope containing the encryption key information.- Returns:
- the updated BlobServiceClientBuilder object
-
credential
public BlobServiceClientBuilder credential(StorageSharedKeyCredential credential)
Sets theStorageSharedKeyCredential
used to authorize requests sent to the service.- Parameters:
credential
-StorageSharedKeyCredential
.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
NullPointerException
- Ifcredential
isnull
.
-
credential
public BlobServiceClientBuilder credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authorize requests sent to the service.- Parameters:
credential
-TokenCredential
.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
NullPointerException
- Ifcredential
isnull
.
-
sasToken
public BlobServiceClientBuilder sasToken(String sasToken)
Sets the SAS token used to authorize requests sent to the service.- Parameters:
sasToken
- The SAS token to use for authenticating requests. This string should only be the query parameters (with or without a leading '?') and not a full url.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
NullPointerException
- IfsasToken
isnull
.
-
credential
public BlobServiceClientBuilder credential(com.azure.core.credential.AzureSasCredential credential)
Sets theAzureSasCredential
used to authorize requests sent to the service.- Parameters:
credential
-AzureSasCredential
used to authorize requests sent to the service.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
NullPointerException
- Ifcredential
isnull
.
-
connectionString
public BlobServiceClientBuilder connectionString(String connectionString)
Sets the connection string to connect to the service.- Parameters:
connectionString
- Connection string of the storage account.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
IllegalArgumentException
- IfconnectionString
in invalid.NullPointerException
- IfconnectionString
isnull
.
-
httpClient
public BlobServiceClientBuilder httpClient(com.azure.core.http.HttpClient httpClient)
Sets theHttpClient
to use for sending a receiving requests to and from the service.- Parameters:
httpClient
- HttpClient to use for requests.- Returns:
- the updated BlobServiceClientBuilder object
-
addPolicy
public BlobServiceClientBuilder addPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)
Adds a pipeline policy to apply on each request sent. The policy will be added after the retry policy. If the method is called multiple times, all policies will be added and their order preserved.- Parameters:
pipelinePolicy
- a pipeline policy- Returns:
- the updated BlobServiceClientBuilder object
- Throws:
NullPointerException
- IfpipelinePolicy
isnull
.
-
httpLogOptions
public BlobServiceClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets theHttpLogOptions
for service requests.- Parameters:
logOptions
- The logging configuration to use when sending and receiving HTTP requests/responses.- Returns:
- the updated BlobServiceClientBuilder object
- Throws:
NullPointerException
- IflogOptions
isnull
.
-
getDefaultHttpLogOptions
public static com.azure.core.http.policy.HttpLogOptions getDefaultHttpLogOptions()
Gets the default Storage allowlist log headers and query parameters.- Returns:
- the default http log options.
-
configuration
public BlobServiceClientBuilder configuration(com.azure.core.util.Configuration configuration)
Sets the configuration object used to retrieve environment configuration values during building of the client.- Parameters:
configuration
- Configuration store used to retrieve environment configurations.- Returns:
- the updated BlobServiceClientBuilder object
-
retryOptions
public BlobServiceClientBuilder retryOptions(RequestRetryOptions retryOptions)
Sets the request retry options for all the requests made through the client.- Parameters:
retryOptions
-RequestRetryOptions
.- Returns:
- the updated BlobServiceClientBuilder object
- Throws:
NullPointerException
- IfretryOptions
isnull
.
-
clientOptions
public BlobServiceClientBuilder clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options for all the requests made through the client.- Parameters:
clientOptions
-ClientOptions
.- Returns:
- the updated BlobServiceClientBuilder object
- Throws:
NullPointerException
- IfclientOptions
isnull
.
-
pipeline
public BlobServiceClientBuilder pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets theHttpPipeline
to use for the service client. Ifpipeline
is set, all other settings are ignored, aside fromendpoint
.- Parameters:
httpPipeline
- HttpPipeline to use for sending service requests and receiving responses.- Returns:
- the updated BlobServiceClientBuilder object
-
serviceVersion
public BlobServiceClientBuilder serviceVersion(BlobServiceVersion version)
Sets theBlobServiceVersion
that is used when making API requests.If a service version is not provided, the service version that will be used will be the latest known service version based on the version of the client library being used. If no service version is specified, updating to a newer version of the client library will have the result of potentially moving to a newer service version.
Targeting a specific service version may also mean that the service will return an error for newer APIs.
- Parameters:
version
-BlobServiceVersion
of the service to be used when making requests.- Returns:
- the updated BlobServiceClientBuilder object
-
-