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 ofBlobContainerClientsandBlobContainerAsyncClients, callbuildClientandbuildAsyncClientrespectively 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 constructContainerClientsandContainerAsyncClients.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BlobContainerClientBuilderaddPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)Adds a pipeline policy to apply on each request sent.BlobContainerClientBuilderblobContainerEncryptionScope(BlobContainerEncryptionScope blobContainerEncryptionScope)Sets theencryption scopethat is used to determine how blob contents are encrypted on the server.BlobContainerAsyncClientbuildAsyncClient()Creates aBlobContainerAsyncClientfrom the configured options.BlobContainerClientbuildClient()Creates aBlobContainerClientfrom the configured options.BlobContainerClientBuilderclientOptions(com.azure.core.util.ClientOptions clientOptions)Sets the client options for all the requests made through the client.BlobContainerClientBuilderconfiguration(com.azure.core.util.Configuration configuration)Sets the configuration object used to retrieve environment configuration values during building of the client.BlobContainerClientBuilderconnectionString(String connectionString)Sets the connection string to connect to the service.BlobContainerClientBuildercontainerName(String containerName)Sets the name of the container.BlobContainerClientBuildercredential(com.azure.core.credential.AzureSasCredential credential)Sets theAzureSasCredentialused to authorize requests sent to the service.BlobContainerClientBuildercredential(com.azure.core.credential.TokenCredential credential)Sets theTokenCredentialused to authorize requests sent to the service.BlobContainerClientBuildercredential(StorageSharedKeyCredential credential)Sets theStorageSharedKeyCredentialused to authorize requests sent to the service.BlobContainerClientBuildercustomerProvidedKey(CustomerProvidedKey customerProvidedKey)Sets thecustomer provided keythat is used to encrypt blob contents on the server.BlobContainerClientBuilderencryptionScope(String encryptionScope)Sets theencryption scopethat is used to encrypt blob contents on the server.BlobContainerClientBuilderendpoint(String endpoint)Sets the service endpoint, additionally parses it for information (SAS token, container name)static com.azure.core.http.policy.HttpLogOptionsgetDefaultHttpLogOptions()Gets the default Storage allowlist log headers and query parameters.BlobContainerClientBuilderhttpClient(com.azure.core.http.HttpClient httpClient)Sets theHttpClientto use for sending a receiving requests to and from the service.BlobContainerClientBuilderhttpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)Sets theHttpLogOptionsfor service requests.BlobContainerClientBuilderpipeline(com.azure.core.http.HttpPipeline httpPipeline)Sets theHttpPipelineto use for the service client.BlobContainerClientBuilderretryOptions(RequestRetryOptions retryOptions)Sets the request retry options for all the requests made through the client.BlobContainerClientBuildersasToken(String sasToken)Sets the SAS token used to authorize requests sent to the service.BlobContainerClientBuilderserviceVersion(BlobServiceVersion version)Sets theBlobServiceVersionthat is used when making API requests.BlobContainerClientBuildersetAnonymousAccess()Clears the credential used to authorize the request.
-
-
-
Constructor Detail
-
BlobContainerClientBuilder
public BlobContainerClientBuilder()
Creates a builder instance that is able to configure and constructContainerClientsandContainerAsyncClients.
-
-
Method Detail
-
buildClient
public BlobContainerClient buildClient()
Creates aBlobContainerClientfrom the configured options.Code Samples
BlobContainerClient client = new BlobContainerClientBuilder() .connectionString(connectionString) .buildClient();- Returns:
- a
BlobContainerClientcreated from the configurations in this builder. - Throws:
IllegalStateException- If multiple credentials have been specified.
-
buildAsyncClient
public BlobContainerAsyncClient buildAsyncClient()
Creates aBlobContainerAsyncClientfrom the configured options.Code Samples
BlobContainerAsyncClient client = new BlobContainerClientBuilder() .connectionString(connectionString) .buildAsyncClient();- Returns:
- a
BlobContainerAsyncClientcreated 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- Ifendpointisnullor is a malformed URL.
-
customerProvidedKey
public BlobContainerClientBuilder customerProvidedKey(CustomerProvidedKey customerProvidedKey)
Sets thecustomer provided keythat 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 scopethat 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 scopethat 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 theStorageSharedKeyCredentialused to authorize requests sent to the service.- Parameters:
credential-StorageSharedKeyCredential.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
credential
public BlobContainerClientBuilder credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredentialused to authorize requests sent to the service.- Parameters:
credential-TokenCredential.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
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- IfsasTokenisnull.
-
credential
public BlobContainerClientBuilder credential(com.azure.core.credential.AzureSasCredential credential)
Sets theAzureSasCredentialused to authorize requests sent to the service.- Parameters:
credential-AzureSasCredentialused to authorize requests sent to the service.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
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- IfconnectionStringin invalid.
-
containerName
public BlobContainerClientBuilder containerName(String containerName)
Sets the name of the container.- Parameters:
containerName- Name of the container. If the valuenullor empty the root container,$root, will be used.- Returns:
- the updated BlobContainerClientBuilder object
-
httpClient
public BlobContainerClientBuilder httpClient(com.azure.core.http.HttpClient httpClient)
Sets theHttpClientto 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- IfpipelinePolicyisnull.
-
httpLogOptions
public BlobContainerClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets theHttpLogOptionsfor service requests.- Parameters:
logOptions- The logging configuration to use when sending and receiving HTTP requests/responses.- Returns:
- the updated BlobContainerClientBuilder object
- Throws:
NullPointerException- IflogOptionsisnull.
-
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- IfretryOptionsisnull.
-
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- IfclientOptionsisnull.
-
pipeline
public BlobContainerClientBuilder pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets theHttpPipelineto use for the service client. Ifpipelineis 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 theBlobServiceVersionthat 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-BlobServiceVersionof the service to be used when making requests.- Returns:
- the updated BlobContainerClientBuilder object
-
-