public final class QueueServiceClient extends Object
Instantiating an Synchronous Queue Service Client
QueueServiceClient client = new QueueServiceClientBuilder() .connectionString("connectionstring") .endpoint("endpoint") .buildClient();
View this
for additional ways to construct the client.
Modifier and Type | Method and Description |
---|---|
QueueClient |
createQueue(String queueName)
Creates a queue in the storage account with the specified name and returns a QueueClient to interact with it.
|
com.azure.core.http.rest.Response<QueueClient> |
createQueueWithResponse(String queueName,
Map<String,String> metadata,
Duration timeout,
com.azure.core.util.Context context)
Creates a queue in the storage account with the specified name and metadata and returns a QueueClient to interact
with it.
|
void |
deleteQueue(String queueName)
Deletes a queue in the storage account
|
com.azure.core.http.rest.Response<Void> |
deleteQueueWithResponse(String queueName,
Duration timeout,
com.azure.core.util.Context context)
Deletes a queue in the storage account
|
String |
generateAccountSas(AccountSasSignatureValues accountSasSignatureValues)
Generates an account SAS for the Azure Storage account using the specified
AccountSasSignatureValues . |
String |
generateAccountSas(AccountSasSignatureValues accountSasSignatureValues,
com.azure.core.util.Context context)
Generates an account SAS for the Azure Storage account using the specified
AccountSasSignatureValues . |
String |
getAccountName()
Get associated account name.
|
com.azure.core.http.HttpPipeline |
getHttpPipeline()
Gets the
HttpPipeline powering this client. |
QueueServiceProperties |
getProperties()
Retrieves the properties of the storage account's Queue service.
|
com.azure.core.http.rest.Response<QueueServiceProperties> |
getPropertiesWithResponse(Duration timeout,
com.azure.core.util.Context context)
Retrieves the properties of the storage account's Queue service.
|
QueueClient |
getQueueClient(String queueName)
Constructs a QueueClient that interacts with the specified queue.
|
String |
getQueueServiceUrl() |
QueueServiceVersion |
getServiceVersion()
Gets the service version the client is using.
|
QueueServiceStatistics |
getStatistics()
Retrieves the geo replication information about the Queue service.
|
com.azure.core.http.rest.Response<QueueServiceStatistics> |
getStatisticsWithResponse(Duration timeout,
com.azure.core.util.Context context)
Retrieves the geo replication information about the Queue service.
|
com.azure.core.http.rest.PagedIterable<QueueItem> |
listQueues()
Lists all queues in the storage account without their metadata.
|
com.azure.core.http.rest.PagedIterable<QueueItem> |
listQueues(QueuesSegmentOptions options,
Duration timeout,
com.azure.core.util.Context context)
Lists the queues in the storage account that pass the filter.
|
void |
setProperties(QueueServiceProperties properties)
Sets the properties for the storage account's Queue service.
|
com.azure.core.http.rest.Response<Void> |
setPropertiesWithResponse(QueueServiceProperties properties,
Duration timeout,
com.azure.core.util.Context context)
Sets the properties for the storage account's Queue service.
|
public String getQueueServiceUrl()
public QueueServiceVersion getServiceVersion()
public QueueClient getQueueClient(String queueName)
queueName
- Name of the queuepublic QueueClient createQueue(String queueName)
Code Samples
Create the queue "test"
client.createQueue("myqueue"); System.out.println("Complete creating queue.");
queueName
- Name of the queueQueueStorageException
- If a queue with the same name and different metadata already existspublic com.azure.core.http.rest.Response<QueueClient> createQueueWithResponse(String queueName, Map<String,String> metadata, Duration timeout, com.azure.core.util.Context context)
Code Samples
Create the queue "test" with metadata "queue:metadata"
Response<QueueClient> response = client.createQueueWithResponse("myqueue", Collections.singletonMap("queue", "metadata"), Duration.ofSeconds(1), new Context(key1, value1)); System.out.println("Complete creating queue with status code: " + response.getStatusCode());
queueName
- Name of the queuemetadata
- Metadata to associate with the queue. If there is leading or trailing whitespace in any
metadata key or value, it must be removed or encoded.timeout
- An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException
will be thrown.context
- Additional context that is passed through the Http pipeline during the service call.QueueStorageException
- If a queue with the same name and different metadata already existsRuntimeException
- if the operation doesn't complete before the timeout concludes.public void deleteQueue(String queueName)
Code Samples
Delete the queue "test"
client.deleteQueue("myqueue"); System.out.println("Complete deleting the queue.");
queueName
- Name of the queueQueueStorageException
- If the queue doesn't existpublic com.azure.core.http.rest.Response<Void> deleteQueueWithResponse(String queueName, Duration timeout, com.azure.core.util.Context context)
Code Samples
Delete the queue "test"
Response<Void> response = client.deleteQueueWithResponse("myqueue", Duration.ofSeconds(1), new Context(key1, value1)); System.out.println("Complete deleting the queue with status code: " + response.getStatusCode());
queueName
- Name of the queuetimeout
- An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException
will be thrown.context
- Additional context that is passed through the Http pipeline during the service call.QueueStorageException
- If the queue doesn't existRuntimeException
- if the operation doesn't complete before the timeout concludes.public com.azure.core.http.rest.PagedIterable<QueueItem> listQueues()
Code Samples
List all queues in the account
client.listQueues().forEach( queueItem -> System.out.printf("Queue %s exists in the account", queueItem.getName()) );
For more information, see the Azure Docs.
Queues
in the storage accountpublic com.azure.core.http.rest.PagedIterable<QueueItem> listQueues(QueuesSegmentOptions options, Duration timeout, com.azure.core.util.Context context)
includeMetadata
to have metadata returned
for the queues.
Code Samples
List all queues that begin with "azure"
client.listQueues(new QueuesSegmentOptions().setPrefix("azure"), Duration.ofSeconds(1), new Context(key1, value1)).forEach( queueItem -> System.out.printf("Queue %s exists in the account and has metadata %s", queueItem.getName(), queueItem.getMetadata()) );
For more information, see the Azure Docs.
options
- Options for listing queuestimeout
- An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException
will be thrown.context
- Additional context that is passed through the Http pipeline during the service call.Queues
in the storage account that satisfy the filter requirementsRuntimeException
- if the operation doesn't complete before the timeout concludes.public QueueServiceProperties getProperties()
Code Samples
Retrieve Queue service properties
QueueServiceProperties properties = client.getProperties(); System.out.printf("Hour metrics enabled: %b, Minute metrics enabled: %b", properties.getHourMetrics().isEnabled(), properties.getMinuteMetrics().isEnabled());
For more information, see the Azure Docs.
public com.azure.core.http.rest.Response<QueueServiceProperties> getPropertiesWithResponse(Duration timeout, com.azure.core.util.Context context)
Code Samples
Retrieve Queue service properties
QueueServiceProperties properties = client.getPropertiesWithResponse(Duration.ofSeconds(1), new Context(key1, value1)).getValue(); System.out.printf("Hour metrics enabled: %b, Minute metrics enabled: %b", properties.getHourMetrics().isEnabled(), properties.getMinuteMetrics().isEnabled());
For more information, see the Azure Docs.
timeout
- An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException
will be thrown.context
- Additional context that is passed through the Http pipeline during the service call.RuntimeException
- if the operation doesn't complete before the timeout concludes.public void setProperties(QueueServiceProperties properties)
null
value for CORS
. To disable all CORS in the Queue service pass an empty list for CORS
.
Code Sample
Clear CORS in the Queue service
QueueServiceProperties properties = client.getProperties(); properties.setCors(Collections.emptyList()); client.setProperties(properties); System.out.println("Setting Queue service properties completed.");
Enable Minute and Hour Metrics
QueueServiceProperties properties = client.getProperties(); properties.getMinuteMetrics().setEnabled(true); properties.getHourMetrics().setEnabled(true); client.setProperties(properties); System.out.println("Setting Queue service properties completed.");
For more information, see the Azure Docs.
properties
- Storage account Queue service propertiesQueueStorageException
- When one of the following is true
allowed headers
, exposed headers
, or allowedOrigins() allowed origins
exceeds 256
characters.
Allowed methods
isn't DELETE, GET, HEAD, MERGE, POST, OPTIONS, or
PUTpublic com.azure.core.http.rest.Response<Void> setPropertiesWithResponse(QueueServiceProperties properties, Duration timeout, com.azure.core.util.Context context)
null
value for CORS
. To disable all CORS in the Queue service pass an empty list for CORS
.
Code Sample
Clear CORS in the Queue service
QueueServiceProperties properties = client.getProperties(); properties.setCors(Collections.emptyList()); Response<Void> response = client.setPropertiesWithResponse(properties, Duration.ofSeconds(1), new Context(key1, value1)); System.out.printf("Setting Queue service properties completed with status code %d", response.getStatusCode());
Enable Minute and Hour Metrics
QueueServiceProperties properties = client.getProperties(); properties.getMinuteMetrics().setEnabled(true); properties.getHourMetrics().setEnabled(true); Response<Void> response = client.setPropertiesWithResponse(properties, Duration.ofSeconds(1), new Context(key1, value1)); System.out.printf("Setting Queue service properties completed with status code %d", response.getStatusCode());
For more information, see the Azure Docs.
properties
- Storage account Queue service propertiestimeout
- An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException
will be thrown.context
- Additional context that is passed through the Http pipeline during the service call.QueueStorageException
- When one of the following is true
allowed headers
, exposed headers
, or allowed origins
exceeds 256 characters.
Allowed methods
isn't DELETE, GET, HEAD, MERGE, POST, OPTIONS, or
PUTRuntimeException
- if the operation doesn't complete before the timeout concludes.public QueueServiceStatistics getStatistics()
Code Samples
Retrieve the geo replication information
QueueServiceStatistics stats = client.getStatistics(); System.out.printf("Geo replication status: %s, Last synced: %s", stats.getGeoReplication().getStatus(), stats.getGeoReplication().getLastSyncTime());
For more information, see the Azure Docs.
public com.azure.core.http.rest.Response<QueueServiceStatistics> getStatisticsWithResponse(Duration timeout, com.azure.core.util.Context context)
Code Samples
Retrieve the geo replication information
QueueServiceStatistics stats = client.getStatisticsWithResponse(Duration.ofSeconds(1), new Context(key1, value1)).getValue(); System.out.printf("Geo replication status: %s, Last synced: %s", stats.getGeoReplication().getStatus(), stats.getGeoReplication().getLastSyncTime());
For more information, see the Azure Docs.
timeout
- An optional timeout applied to the operation. If a response is not returned before the timeout
concludes a RuntimeException
will be thrown.context
- Additional context that is passed through the Http pipeline during the service call.RuntimeException
- if the operation doesn't complete before the timeout concludes.public String getAccountName()
public com.azure.core.http.HttpPipeline getHttpPipeline()
HttpPipeline
powering this client.public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues)
AccountSasSignatureValues
.
Note : The client must be authenticated via StorageSharedKeyCredential
See AccountSasSignatureValues
for more information on how to construct an account SAS.
Generating an account SAS
The snippet below generates an AccountSasSignatureValues object that lasts for two days and gives the user read and list access to queue and file shares.
AccountSasPermission permissions = new AccountSasPermission() .setListPermission(true) .setReadPermission(true); AccountSasResourceType resourceTypes = new AccountSasResourceType().setContainer(true).setObject(true); AccountSasService services = new AccountSasService().setQueueAccess(true).setFileAccess(true); OffsetDateTime expiryTime = OffsetDateTime.now().plus(Duration.ofDays(2)); AccountSasSignatureValues sasValues = new AccountSasSignatureValues(expiryTime, permissions, services, resourceTypes); // Client must be authenticated via StorageSharedKeyCredential String sas = queueServiceClient.generateAccountSas(sasValues);
accountSasSignatureValues
- AccountSasSignatureValues
String
representing the SAS query parameters.public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, com.azure.core.util.Context context)
AccountSasSignatureValues
.
Note : The client must be authenticated via StorageSharedKeyCredential
See AccountSasSignatureValues
for more information on how to construct an account SAS.
Generating an account SAS
The snippet below generates an AccountSasSignatureValues object that lasts for two days and gives the user read and list access to queue and file shares.
AccountSasPermission permissions = new AccountSasPermission() .setListPermission(true) .setReadPermission(true); AccountSasResourceType resourceTypes = new AccountSasResourceType().setContainer(true).setObject(true); AccountSasService services = new AccountSasService().setQueueAccess(true).setFileAccess(true); OffsetDateTime expiryTime = OffsetDateTime.now().plus(Duration.ofDays(2)); AccountSasSignatureValues sasValues = new AccountSasSignatureValues(expiryTime, permissions, services, resourceTypes); // Client must be authenticated via StorageSharedKeyCredential String sas = queueServiceClient.generateAccountSas(sasValues, new Context("key", "value"));
accountSasSignatureValues
- AccountSasSignatureValues
context
- Additional context that is passed through the code when generating a SAS.String
representing the SAS query parameters.Copyright © 2021 Microsoft Corporation. All rights reserved.