Package com.azure.storage.blob
Class BlobContainerClientBuilder
- java.lang.Object
-
- com.azure.storage.blob.BlobContainerClientBuilder
-
public final class BlobContainerClientBuilder extends Object
This class provides a fluent builder API to help aid the configuration and instantiation ofBlobContainerClients
andBlobContainerAsyncClients
, callbuildClient
andbuildAsyncClient
respectively to construct an instance of the desired client.The following information must be provided on this builder:
- the endpoint through
.endpoint()
, including the container name, in the format ofhttps://{accountName}.blob.core.windows.net/{containerName}
. - the credential through
.credential()
or.connectionString()
if the container is not publicly accessible.
- the endpoint through
-
-
Constructor Summary
Constructors Constructor Description BlobContainerClientBuilder()
Creates a builder instance that is able to configure and constructContainerClients
andContainerAsyncClients
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BlobContainerClientBuilder
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)
Adds a pipeline policy to apply on each request sent.BlobContainerClientBuilder
blobContainerEncryptionScope(BlobContainerEncryptionScope blobContainerEncryptionScope)
Sets theencryption scope
that is used to determine how blob contents are encrypted on the server.BlobContainerAsyncClient
buildAsyncClient()
Creates aBlobContainerAsyncClient
from the configured options.BlobContainerClient
buildClient()
Creates aBlobContainerClient
from the configured options.BlobContainerClientBuilder
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options for all the requests made through the client.BlobContainerClientBuilder
configuration(com.azure.core.util.Configuration configuration)
Sets the configuration object used to retrieve environment configuration values during building of the client.BlobContainerClientBuilder
connectionString(String connectionString)
Sets the connection string to connect to the service.BlobContainerClientBuilder
containerName(String containerName)
Sets the name of the container.BlobContainerClientBuilder
credential(com.azure.core.credential.AzureSasCredential credential)
Sets theAzureSasCredential
used to authorize requests sent to the service.BlobContainerClientBuilder
credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authorize requests sent to the service.BlobContainerClientBuilder
credential(StorageSharedKeyCredential credential)
Sets theStorageSharedKeyCredential
used to authorize requests sent to the service.BlobContainerClientBuilder
customerProvidedKey(CustomerProvidedKey customerProvidedKey)
Sets thecustomer provided key
that is used to encrypt blob contents on the server.BlobContainerClientBuilder
encryptionScope(String encryptionScope)
Sets theencryption scope
that is used to encrypt blob contents on the server.BlobContainerClientBuilder
endpoint(String endpoint)
Sets the service endpoint, additionally parses it for information (SAS token, container name)static com.azure.core.http.policy.HttpLogOptions
getDefaultHttpLogOptions()
Gets the default Storage allowlist log headers and query parameters.BlobContainerClientBuilder
httpClient(com.azure.core.http.HttpClient httpClient)
Sets theHttpClient
to use for sending a receiving requests to and from the service.BlobContainerClientBuilder
httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets theHttpLogOptions
for service requests.BlobContainerClientBuilder
pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets theHttpPipeline
to use for the service client.BlobContainerClientBuilder
retryOptions(RequestRetryOptions retryOptions)
Sets the request retry options for all the requests made through the client.BlobContainerClientBuilder
sasToken(String sasToken)
Sets the SAS token used to authorize requests sent to the service.BlobContainerClientBuilder
serviceVersion(BlobServiceVersion version)
Sets theBlobServiceVersion
that is used when making API requests.BlobContainerClientBuilder
setAnonymousAccess()
Clears the credential used to authorize the request.
-
-
-
Constructor Detail
-
BlobContainerClientBuilder
public BlobContainerClientBuilder()
Creates a builder instance that is able to configure and constructContainerClients
andContainerAsyncClients
.
-
-
Method Detail
-
buildClient
public BlobContainerClient buildClient()
Creates aBlobContainerClient
from the configured options.Code Samples
BlobContainerClient client = new BlobContainerClientBuilder() .connectionString(connectionString) .buildClient();
- Returns:
- a
BlobContainerClient
created from the configurations in this builder. - Throws:
IllegalStateException
- If multiple credentials have been specified.
-
buildAsyncClient
public BlobContainerAsyncClient buildAsyncClient()
Creates aBlobContainerAsyncClient
from the configured options.Code Samples
BlobContainerAsyncClient client = new BlobContainerClientBuilder() .connectionString(connectionString) .buildAsyncClient();
- Returns:
- a
BlobContainerAsyncClient
created from the configurations in this builder. - Throws:
IllegalStateException
- If multiple credentials have been specified.
-
endpoint
public BlobContainerClientBuilder endpoint(String endpoint)
Sets the service endpoint, additionally parses it for information (SAS token, container name)- Parameters:
endpoint
- URL of the service- Returns:
- the updated BlobContainerClientBuilder object
- Throws:
IllegalArgumentException
- Ifendpoint
isnull
or is a malformed URL.
-
customerProvidedKey
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
encryptionScope
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
blobContainerEncryptionScope
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
credential
public BlobContainerClientBuilder credential(StorageSharedKeyCredential credential)
Sets theStorageSharedKeyCredential
used to authorize requests sent to the service.- Parameters:
credential
-StorageSharedKeyCredential
.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException
- Ifcredential
isnull
.
-
credential
public BlobContainerClientBuilder credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredential
used to authorize requests sent to the service.- Parameters:
credential
-TokenCredential
.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException
- Ifcredential
isnull
.
-
sasToken
public BlobContainerClientBuilder 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 BlobContainerClientBuilder
- Throws:
NullPointerException
- IfsasToken
isnull
.
-
credential
public BlobContainerClientBuilder 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 BlobContainerClientBuilder
- Throws:
NullPointerException
- Ifcredential
isnull
.
-
setAnonymousAccess
public BlobContainerClientBuilder setAnonymousAccess()
Clears the credential used to authorize the request.This is for containers that are publicly accessible.
- Returns:
- the updated BlobContainerClientBuilder
-
connectionString
public BlobContainerClientBuilder connectionString(String connectionString)
Sets the connection string to connect to the service.- Parameters:
connectionString
- Connection string of the storage account.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
IllegalArgumentException
- IfconnectionString
in invalid.
-
containerName
public BlobContainerClientBuilder containerName(String containerName)
Sets the name of the container.- Parameters:
containerName
- Name of the container. If the valuenull
or empty the root container,$root
, will be used.- Returns:
- the updated BlobContainerClientBuilder object
-
httpClient
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
addPolicy
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
- Throws:
NullPointerException
- IfpipelinePolicy
isnull
.
-
httpLogOptions
public BlobContainerClientBuilder 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 BlobContainerClientBuilder 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 BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
retryOptions
public BlobContainerClientBuilder retryOptions(RequestRetryOptions retryOptions)
Sets the request retry options for all the requests made through the client.- Parameters:
retryOptions
-RequestRetryOptions
.- Returns:
- the updated BlobContainerClientBuilder object
- Throws:
NullPointerException
- IfretryOptions
isnull
.
-
clientOptions
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
- Throws:
NullPointerException
- IfclientOptions
isnull
.
-
pipeline
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
serviceVersion
public BlobContainerClientBuilder 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 BlobContainerClientBuilder object
-
-