public final class QueueClientBuilder extends Object
QueueClients
and QueueAsyncClients
, calling buildClient
constructs an instance of QueueClient and calling buildAsyncClient
constructs an instance of QueueAsyncClient.
The client needs the endpoint of the Azure Storage Queue service, name of the queue, and authorization
credentials.
endpoint
gives the builder the endpoint and may give the builder the
queueName
and a SAS token
that authorizes the
client.
Instantiating a synchronous Queue Client with SAS token
QueueClient client = new QueueClientBuilder() .endpoint("https://${accountName}.queue.core.windows.net?${SASToken}") .buildClient();
Instantiating an Asynchronous Queue Client with SAS token
QueueAsyncClient queueAsyncClient = new QueueClientBuilder() .endpoint("https://{accountName}.queue.core.windows.net?{SASToken}") .buildAsyncClient();
If the endpoint
doesn't contain the queue name or SAS token
they may be set using
queueName
and SAS token
.
Instantiating a synchronous Queue Client with credential
QueueClient client = new QueueClientBuilder() .endpoint("https://${accountName}.queue.core.windows.net") .queueName("myqueue") .sasToken("{SASTokenQueryParams}") .buildClient();
Instantiating an Asynchronous Queue Client with credential
QueueAsyncClient queueAsyncClient = new QueueClientBuilder() .endpoint("https://{accountName}.queue.core.windows.net") .queueName("myqueue") .sasToken("{SASTokenQueryParams}") .buildAsyncClient();
Another way to authenticate the client is using a StorageSharedKeyCredential
. To create a
StorageSharedKeyCredential a connection string from the Storage Queue service must be used.
Set the StorageSharedKeyCredential with connectionString
.
If the builder has both a SAS token and StorageSharedKeyCredential the StorageSharedKeyCredential will be preferred
when authorizing requests sent to the service.
Instantiating a synchronous Queue Client with connection string.
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};" + "AccountKey={key};EndpointSuffix={core.windows.net}"; QueueClient client = new QueueClientBuilder() .connectionString(connectionString) .buildClient();
Instantiating an Asynchronous Queue Client with connection string.
String connectionString = "DefaultEndpointsProtocol=https;AccountName={name};" + "AccountKey={key};EndpointSuffix={core.windows.net}"; QueueAsyncClient queueAsyncClient = new QueueClientBuilder() .connectionString(connectionString) .buildAsyncClient();
QueueClient
,
QueueAsyncClient
,
StorageSharedKeyCredential
Constructor and Description |
---|
QueueClientBuilder()
Creates a builder instance that is able to configure and construct
QueueClients and QueueAsyncClients . |
Modifier and Type | Method and Description |
---|---|
QueueClientBuilder |
addPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)
Adds a pipeline policy to apply on each request sent.
|
QueueAsyncClient |
buildAsyncClient()
Creates a
QueueAsyncClient based on options set in the builder. |
QueueClient |
buildClient()
Creates a
QueueClient based on options set in the builder. |
QueueClientBuilder |
clientOptions(com.azure.core.util.ClientOptions clientOptions)
Sets the client options for all the requests made through the client.
|
QueueClientBuilder |
configuration(com.azure.core.util.Configuration configuration)
Sets the configuration object used to retrieve environment configuration values during building of the client.
|
QueueClientBuilder |
connectionString(String connectionString)
Sets the connection string to connect to the service.
|
QueueClientBuilder |
credential(com.azure.core.credential.AzureSasCredential credential)
Sets the
AzureSasCredential used to authorize requests sent to the service. |
QueueClientBuilder |
credential(StorageSharedKeyCredential credential)
Sets the
StorageSharedKeyCredential used to authorize requests sent to the service. |
QueueClientBuilder |
credential(com.azure.core.credential.TokenCredential credential)
Sets the
TokenCredential used to authorize requests sent to the service. |
QueueClientBuilder |
endpoint(String endpoint)
Sets the endpoint for the Azure Storage Queue instance that the client will interact with.
|
static com.azure.core.http.policy.HttpLogOptions |
getDefaultHttpLogOptions()
Gets the default Storage whitelist log headers and query parameters.
|
QueueClientBuilder |
httpClient(com.azure.core.http.HttpClient httpClient)
Sets the
HttpClient to use for sending a receiving requests to and from the service. |
QueueClientBuilder |
httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
Sets the
HttpLogOptions for service requests. |
QueueClientBuilder |
pipeline(com.azure.core.http.HttpPipeline httpPipeline)
Sets the
HttpPipeline to use for the service client. |
QueueClientBuilder |
queueName(String queueName)
Sets the name of the queue that the client will interact with.
|
QueueClientBuilder |
retryOptions(RequestRetryOptions retryOptions)
Sets the request retry options for all the requests made through the client.
|
QueueClientBuilder |
sasToken(String sasToken)
Sets the SAS token used to authorize requests sent to the service.
|
QueueClientBuilder |
serviceVersion(QueueServiceVersion version)
Sets the
QueueServiceVersion that is used when making API requests. |
public QueueClientBuilder()
QueueClients
and QueueAsyncClients
.public QueueClient buildClient()
QueueClient
based on options set in the builder. Every time buildClient()
is called a
new instance of QueueClient
is created.
If pipeline
is set, then the pipeline
, endpoint
, and queueName
are
used to create the client
. All other builder settings are ignored.
NullPointerException
- If endpoint
or queueName
have not been set.IllegalStateException
- If neither a StorageSharedKeyCredential
or SAS token
has been set.IllegalStateException
- If multiple credentials have been specified.public QueueAsyncClient buildAsyncClient()
QueueAsyncClient
based on options set in the builder. Every time buildAsyncClient()
is
called a new instance of QueueAsyncClient
is created.
If pipeline
is set, then the pipeline
, endpoint
, and queueName
are
used to create the client
. All other builder settings are ignored.
NullPointerException
- If endpoint
or queueName
have not been set.IllegalArgumentException
- If neither a StorageSharedKeyCredential
or SAS token
has been set.IllegalStateException
- If multiple credentials have been specified.public QueueClientBuilder endpoint(String endpoint)
The first path segment, if the endpoint contains path segments, will be assumed to be the name of the queue that the client will interact with.
Query parameters of the endpoint will be parsed in an attempt to generate a
SAS token
to authenticate requests sent to the service.
endpoint
- The URL of the Azure Storage Queue instance to send service requests to and receive responses
from.IllegalArgumentException
- If endpoint
isn't a proper URLpublic QueueClientBuilder queueName(String queueName)
queueName
- Name of the queueNullPointerException
- If queueName
is null
.public QueueClientBuilder credential(StorageSharedKeyCredential credential)
StorageSharedKeyCredential
used to authorize requests sent to the service.credential
- StorageSharedKeyCredential
.NullPointerException
- If credential
is null
.public QueueClientBuilder credential(com.azure.core.credential.TokenCredential credential)
TokenCredential
used to authorize requests sent to the service.credential
- TokenCredential
.NullPointerException
- If credential
is null
.public QueueClientBuilder sasToken(String sasToken)
sasToken
- The SAS token to use for authenticating requests.NullPointerException
- If sasToken
is null
.public QueueClientBuilder credential(com.azure.core.credential.AzureSasCredential credential)
AzureSasCredential
used to authorize requests sent to the service.credential
- AzureSasCredential
used to authorize requests sent to the service.NullPointerException
- If credential
is null
.public QueueClientBuilder connectionString(String connectionString)
connectionString
- Connection string of the storage account.IllegalArgumentException
- If connectionString
is invalid.public QueueClientBuilder httpClient(com.azure.core.http.HttpClient httpClient)
HttpClient
to use for sending a receiving requests to and from the service.httpClient
- HttpClient to use for requests.public QueueClientBuilder addPolicy(com.azure.core.http.policy.HttpPipelinePolicy pipelinePolicy)
pipelinePolicy
- a pipeline policyNullPointerException
- If pipelinePolicy
is null
.public QueueClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions)
HttpLogOptions
for service requests.logOptions
- The logging configuration to use when sending and receiving HTTP requests/responses.NullPointerException
- If logOptions
is null
.public static com.azure.core.http.policy.HttpLogOptions getDefaultHttpLogOptions()
public QueueClientBuilder configuration(com.azure.core.util.Configuration configuration)
configuration
- Configuration store used to retrieve environment configurations.public QueueClientBuilder retryOptions(RequestRetryOptions retryOptions)
retryOptions
- RequestRetryOptions
.NullPointerException
- If retryOptions
is null
.public QueueClientBuilder pipeline(com.azure.core.http.HttpPipeline httpPipeline)
HttpPipeline
to use for the service client.
If pipeline
is set, all other settings are ignored, aside from endpoint
.httpPipeline
- HttpPipeline to use for sending service requests and receiving responses.public QueueClientBuilder clientOptions(com.azure.core.util.ClientOptions clientOptions)
clientOptions
- ClientOptions
.NullPointerException
- If clientOptions
is null
.public QueueClientBuilder serviceVersion(QueueServiceVersion version)
QueueServiceVersion
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.
version
- QueueServiceVersion
of the service to be used when making requests.Copyright © 2021 Microsoft Corporation. All rights reserved.