Class BlobContainerClientBuilder
- All Implemented Interfaces:
com.azure.core.client.traits.AzureNamedKeyCredentialTrait<BlobContainerClientBuilder>,com.azure.core.client.traits.AzureSasCredentialTrait<BlobContainerClientBuilder>,com.azure.core.client.traits.ConfigurationTrait<BlobContainerClientBuilder>,com.azure.core.client.traits.ConnectionStringTrait<BlobContainerClientBuilder>,com.azure.core.client.traits.EndpointTrait<BlobContainerClientBuilder>,com.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>,com.azure.core.client.traits.TokenCredentialTrait<BlobContainerClientBuilder>
BlobContainerClients and BlobContainerAsyncClients, call
buildClient and buildAsyncClient 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.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a builder instance that is able to configure and constructContainerClientsandContainerAsyncClients. -
Method Summary
Modifier and TypeMethodDescriptionaddPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy) Adds apipeline policyto apply on each request sent.audience(BlobAudience audience) Sets the Audience to use for authentication with Azure Active Directory (AAD).blobContainerEncryptionScope(BlobContainerEncryptionScope blobContainerEncryptionScope) Sets theencryption scopethat is used to determine how blob contents are encrypted on the server.Creates aBlobContainerAsyncClientfrom the configured options.Creates aBlobContainerClientfrom the configured options.clientOptions(com.azure.core.util.ClientOptions clientOptions) Allows for setting common properties such as application ID, headers, proxy configuration, etc.configuration(com.azure.core.util.Configuration configuration) Sets the configuration object used to retrieve environment configuration values during building of the client.connectionString(String connectionString) Sets the connection string to connect to the service.containerName(String containerName) Sets the name of the container.credential(com.azure.core.credential.AzureNamedKeyCredential credential) Sets theAzureNamedKeyCredentialused to authorize requests sent to the service.credential(com.azure.core.credential.AzureSasCredential credential) Sets theAzureSasCredentialused to authorize requests sent to the service.credential(com.azure.core.credential.TokenCredential credential) Sets theTokenCredentialused to authorize requests sent to the service.credential(StorageSharedKeyCredential credential) Sets theStorageSharedKeyCredentialused to authorize requests sent to the service.customerProvidedKey(CustomerProvidedKey customerProvidedKey) Sets thecustomer provided keythat is used to encrypt blob contents on the server.encryptionScope(String encryptionScope) Sets theencryption scopethat is used to encrypt blob contents on the server.Sets the service endpoint, additionally parses it for information (SAS token, container name)static com.azure.core.http.policy.HttpLogOptionsGets the default Storage allowlist log headers and query parameters.httpClient(com.azure.core.http.HttpClient httpClient) Sets theHttpClientto use for sending and receiving requests to and from the service.httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions) Sets thelogging configurationto use when sending and receiving requests to and from the service.pipeline(com.azure.core.http.HttpPipeline httpPipeline) Sets theHttpPipelineto use for the service client.retryOptions(com.azure.core.http.policy.RetryOptions retryOptions) Sets theRetryOptionsfor all the requests made through the client.retryOptions(RequestRetryOptions retryOptions) Sets the request retry options for all the requests made through the client.Sets the SAS token used to authorize requests sent to the service.serviceVersion(BlobServiceVersion version) Sets theBlobServiceVersionthat is used when making API requests.Clears the credential used to authorize the request.
-
Constructor Details
-
BlobContainerClientBuilder
public BlobContainerClientBuilder()Creates a builder instance that is able to configure and constructContainerClientsandContainerAsyncClients.
-
-
Method Details
-
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
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.IllegalStateException- If bothretryOptions(RetryOptions)andretryOptions(RequestRetryOptions)have been set.
-
endpoint
Sets the service endpoint, additionally parses it for information (SAS token, container name)- Specified by:
endpointin interfacecom.azure.core.client.traits.EndpointTrait<BlobContainerClientBuilder>- Parameters:
endpoint- URL of the service- Returns:
- the updated BlobContainerClientBuilder object
- Throws:
IllegalArgumentException- Ifendpointisnullor is a malformed URL.
-
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
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(com.azure.core.credential.AzureNamedKeyCredential credential) Sets theAzureNamedKeyCredentialused to authorize requests sent to the service.- Specified by:
credentialin interfacecom.azure.core.client.traits.AzureNamedKeyCredentialTrait<BlobContainerClientBuilder>- Parameters:
credential-AzureNamedKeyCredential.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
credential
Sets theTokenCredentialused to authorize requests sent to the service. Refer to the Azure SDK for Java identity and authentication documentation for more details on proper usage of theTokenCredentialtype.- Specified by:
credentialin interfacecom.azure.core.client.traits.TokenCredentialTrait<BlobContainerClientBuilder>- Parameters:
credential-TokenCredentialused to authorize requests sent to the service.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
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.- Specified by:
credentialin interfacecom.azure.core.client.traits.AzureSasCredentialTrait<BlobContainerClientBuilder>- Parameters:
credential-AzureSasCredentialused to authorize requests sent to the service.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
setAnonymousAccess
Clears the credential used to authorize the request.This is for containers that are publicly accessible.
- Returns:
- the updated BlobContainerClientBuilder
-
connectionString
Sets the connection string to connect to the service.- Specified by:
connectionStringin interfacecom.azure.core.client.traits.ConnectionStringTrait<BlobContainerClientBuilder>- Parameters:
connectionString- Connection string of the storage account.- Returns:
- the updated BlobContainerClientBuilder
- Throws:
IllegalArgumentException- IfconnectionStringin invalid.
-
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
Sets theHttpClientto use for sending and receiving requests to and from the service.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
httpClientin interfacecom.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>- Parameters:
httpClient- TheHttpClientto use for requests.- Returns:
- the updated BlobContainerClientBuilder object
-
addPolicy
public BlobContainerClientBuilder addPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy) Adds apipeline policyto apply on each request sent.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
addPolicyin interfacecom.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>- Parameters:
pipelinePolicy- Apipeline policy.- Returns:
- the updated BlobContainerClientBuilder object
- Throws:
NullPointerException- IfpipelinePolicyisnull.
-
httpLogOptions
public BlobContainerClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions) Sets thelogging configurationto use when sending and receiving requests to and from the service. If alogLevelis not provided, default value ofHttpLogDetailLevel.NONEis set.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
httpLogOptionsin interfacecom.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>- Parameters:
logOptions- Thelogging configurationto use when sending and receiving requests to and from the service.- 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
Sets the configuration object used to retrieve environment configuration values during building of the client.- Specified by:
configurationin interfacecom.azure.core.client.traits.ConfigurationTrait<BlobContainerClientBuilder>- Parameters:
configuration- Configuration store used to retrieve environment configurations.- Returns:
- the updated BlobContainerClientBuilder object
-
retryOptions
Sets the request retry options for all the requests made through the client. Setting this is mutually exclusive with usingretryOptions(RetryOptions).- Parameters:
retryOptions-RequestRetryOptions.- Returns:
- the updated BlobContainerClientBuilder object
-
retryOptions
public BlobContainerClientBuilder retryOptions(com.azure.core.http.policy.RetryOptions retryOptions) Sets theRetryOptionsfor all the requests made through the client.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.Setting this is mutually exclusive with using
retryOptions(RequestRetryOptions). Consider usingretryOptions(RequestRetryOptions)to also set storage specific options.- Specified by:
retryOptionsin interfacecom.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>- Parameters:
retryOptions- TheRetryOptionsto use for all the requests made through the client.- Returns:
- the updated BlobContainerClientBuilder object
-
clientOptions
Allows for setting common properties such as application ID, headers, proxy configuration, etc. Note that it is recommended that this method be called with an instance of theHttpClientOptionsclass (a subclass of theClientOptionsbase class). The HttpClientOptions subclass provides more configuration options suitable for HTTP clients, which is applicable for any class that implements this HttpTrait interface.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
clientOptionsin interfacecom.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>- Parameters:
clientOptions- A configured instance ofHttpClientOptions.- Returns:
- the updated BlobContainerClientBuilder object
- Throws:
NullPointerException- IfclientOptionsisnull.- See Also:
-
pipeline
Sets theHttpPipelineto use for the service client.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.The
endpointis not ignored whenpipelineis set.- Specified by:
pipelinein interfacecom.azure.core.client.traits.HttpTrait<BlobContainerClientBuilder>- Parameters:
httpPipeline-HttpPipelineto use for sending service requests and receiving responses.- Returns:
- the updated BlobContainerClientBuilder object
-
serviceVersion
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
-
audience
Sets the Audience to use for authentication with Azure Active Directory (AAD). The audience is not considered when using a shared key.- Parameters:
audience-BlobAudienceto be used when requesting a token from Azure Active Directory (AAD).- Returns:
- the updated BlobContainerClientBuilder object
-