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 ofBlobServiceClientsandBlobServiceAsyncClients, callbuildClientandbuildAsyncClientrespectively 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 constructBlobServiceClientsandBlobServiceAsyncClients.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BlobServiceClientBuilderaddPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)Adds a pipeline policy to apply on each request sent.BlobServiceClientBuilderblobContainerEncryptionScope(BlobContainerEncryptionScope blobContainerEncryptionScope)Sets theencryption scopethat is used to determine how blob contents are encrypted on the server.BlobServiceAsyncClientbuildAsyncClient()BlobServiceClientbuildClient()BlobServiceClientBuilderclientOptions(com.azure.core.util.ClientOptions clientOptions)Sets the client options for all the requests made through the client.BlobServiceClientBuilderconfiguration(com.azure.core.util.Configuration configuration)Sets the configuration object used to retrieve environment configuration values during building of the client.BlobServiceClientBuilderconnectionString(String connectionString)Sets the connection string to connect to the service.BlobServiceClientBuildercredential(com.azure.core.credential.AzureSasCredential credential)Sets theAzureSasCredentialused to authorize requests sent to the service.BlobServiceClientBuildercredential(com.azure.core.credential.TokenCredential credential)Sets theTokenCredentialused to authorize requests sent to the service.BlobServiceClientBuildercredential(StorageSharedKeyCredential credential)Sets theStorageSharedKeyCredentialused to authorize requests sent to the service.BlobServiceClientBuildercustomerProvidedKey(CustomerProvidedKey customerProvidedKey)Sets thecustomer provided keythat is used to encrypt blob contents on the server.BlobServiceClientBuilderencryptionScope(String encryptionScope)Sets theencryption scopethat is used to encrypt blob contents on the server.BlobServiceClientBuilderendpoint(String endpoint)Sets the blob service endpoint, additionally parses it for information (SAS token)static com.azure.core.http.policy.HttpLogOptionsgetDefaultHttpLogOptions()Gets the default Storage allowlist log headers and query parameters.BlobServiceClientBuilderhttpClient(com.azure.core.http.HttpClient httpClient)Sets theHttpClientto use for sending a receiving requests to and from the service.BlobServiceClientBuilderhttpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)Sets theHttpLogOptionsfor service requests.BlobServiceClientBuilderpipeline(com.azure.core.http.HttpPipeline httpPipeline)Sets theHttpPipelineto use for the service client.BlobServiceClientBuilderretryOptions(RequestRetryOptions retryOptions)Sets the request retry options for all the requests made through the client.BlobServiceClientBuildersasToken(String sasToken)Sets the SAS token used to authorize requests sent to the service.BlobServiceClientBuilderserviceVersion(BlobServiceVersion version)Sets theBlobServiceVersionthat is used when making API requests.
-
-
-
Constructor Detail
-
BlobServiceClientBuilder
public BlobServiceClientBuilder()
Creates a builder instance that is able to configure and constructBlobServiceClientsandBlobServiceAsyncClients.
-
-
Method Detail
-
buildClient
public BlobServiceClient buildClient()
- Returns:
- a
BlobServiceClientcreated 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
BlobServiceAsyncClientcreated 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- Ifendpointisnullor is a malformed URL.
-
customerProvidedKey
public BlobServiceClientBuilder 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 BlobServiceClientBuilder object
-
encryptionScope
public BlobServiceClientBuilder 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 BlobServiceClientBuilder object
-
blobContainerEncryptionScope
public BlobServiceClientBuilder 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 BlobServiceClientBuilder object
-
credential
public BlobServiceClientBuilder credential(StorageSharedKeyCredential credential)
Sets theStorageSharedKeyCredentialused to authorize requests sent to the service.- Parameters:
credential-StorageSharedKeyCredential.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
credential
public BlobServiceClientBuilder credential(com.azure.core.credential.TokenCredential credential)
Sets theTokenCredentialused to authorize requests sent to the service.- Parameters:
credential-TokenCredential.- Returns:
- the updated BlobServiceClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
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- IfsasTokenisnull.
-
credential
public BlobServiceClientBuilder 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 BlobServiceClientBuilder
- Throws:
NullPointerException- Ifcredentialisnull.
-
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- IfconnectionStringin invalid.NullPointerException- IfconnectionStringisnull.
-
httpClient
public BlobServiceClientBuilder 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 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- IfpipelinePolicyisnull.
-
httpLogOptions
public BlobServiceClientBuilder 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 BlobServiceClientBuilder 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 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- IfretryOptionsisnull.
-
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- IfclientOptionsisnull.
-
pipeline
public BlobServiceClientBuilder 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 BlobServiceClientBuilder object
-
serviceVersion
public BlobServiceClientBuilder 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 BlobServiceClientBuilder object
-
-