QueueServiceAsyncClient Class
- java.
lang. Object - com.
azure. storage. queue. QueueServiceAsyncClient
- com.
public final class QueueServiceAsyncClient
This class provides a client that contains all the operations for interacting with a queue account in Azure Storage. Operations allowed by the client are creating, listing, and deleting queues, retrieving and updating properties of the account, and retrieving statistics of the account.
Instantiating an Asynchronous Queue Service Client
QueueServiceAsyncClient client = new QueueServiceClientBuilder()
.connectionString("connectionstring")
.endpoint("endpoint")
.buildAsyncClient();
View QueueServiceClientBuilder for additional ways to construct the client.
Method Summary
Modifier and Type | Method and Description |
---|---|
Mono<Queue |
createQueue(String queueName)
Creates a queue in the storage account with the specified name and returns a Queue |
Mono<Response<Queue |
createQueueWithResponse(String queueName, Map<String,String> metadata)
Creates a queue in the storage account with the specified name and metadata and returns a Queue |
Mono<Void> |
deleteQueue(String queueName)
Deletes a queue in the storage account |
Mono<Response<Void>> |
deleteQueueWithResponse(String queueName)
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, Context context)
Generates an account SAS for the Azure Storage account using the specified AccountSasSignatureValues. |
String |
generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, Consumer<String> stringToSignHandler, Context context)
Generates an account SAS for the Azure Storage account using the specified AccountSasSignatureValues. |
String |
getAccountName()
Get associated account name. |
Http |
getHttpPipeline()
Gets the HttpPipeline powering this client. |
Queue |
getMessageEncoding()
Gets the message encoding the client is using. |
Mono<Queue |
getProperties()
Retrieves the properties of the storage account's Queue service. |
Mono<Response<Queue |
getPropertiesWithResponse()
Retrieves the properties of the storage account's Queue service. |
Queue |
getQueueAsyncClient(String queueName)
Constructs a Queue |
String |
getQueueServiceUrl()
Gets the URL of the storage queue. |
Queue |
getServiceVersion()
Gets the service version the client is using. |
Mono<Queue |
getStatistics()
Retrieves the geo replication information about the Queue service. |
Mono<Response<Queue |
getStatisticsWithResponse()
Retrieves the geo replication information about the Queue service. |
Paged |
listQueues()
Lists all queues in the storage account without their metadata. |
Paged |
listQueues(QueuesSegmentOptions options)
Lists the queues in the storage account that pass the filter. |
Mono<Void> |
setProperties(QueueServiceProperties properties)
Sets the properties for the storage account's Queue service. |
Mono<Response<Void>> |
setPropertiesWithResponse(QueueServiceProperties properties)
Sets the properties for the storage account's Queue service. |
Methods inherited from java.lang.Object
Method Details
createQueue
public Mono
Creates a queue in the storage account with the specified name and returns a QueueAsyncClient to interact with it.
Code Samples
Create the queue "test"
client.createQueue("myqueue").subscribe(
response -> {
},
error -> System.err.print(error.toString()),
() -> System.out.println("Complete creating the queue!")
);
Parameters:
Returns:
createQueueWithResponse
public Mono
Creates a queue in the storage account with the specified name and metadata and returns a QueueAsyncClient to interact with it.
Code Samples
Create the queue "test" with metadata "queue:metadata"
client.createQueueWithResponse("myqueue", Collections.singletonMap("queue", "metadata"))
.subscribe(
response -> System.out.printf("Creating the queue with status code %d", response.getStatusCode()),
error -> System.err.print(error.toString()),
() -> System.out.println("Complete creating the queue!")
);
Parameters:
Returns:
deleteQueue
public Mono
Deletes a queue in the storage account
Code Samples
Delete the queue "test"
client.deleteQueue("myshare").subscribe(
response -> System.out.println("Deleting the queue completed.")
);
Parameters:
Returns:
deleteQueueWithResponse
public Mono
Deletes a queue in the storage account
Code Samples
Delete the queue "test"
client.deleteQueueWithResponse("myshare").subscribe(
response -> System.out.println("Deleting the queue completed with status code: " + response.getStatusCode())
);
Parameters:
Returns:
generateAccountSas
public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues)
Generates an account SAS for the Azure Storage account using the specified AccountSasSignatureValues.
Note : The client must be authenticated via StorageSharedKeyCredential
See AccountSasSignatureValues for more information on how to construct an account SAS.
The snippet below generates a SAS that lasts for two days and gives the user read and list access to queues 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 = queueServiceAsyncClient.generateAccountSas(sasValues);
Parameters:
Returns:
String
representing the SAS query parameters.generateAccountSas
public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, Context context)
Generates an account SAS for the Azure Storage account using the specified AccountSasSignatureValues.
Note : The client must be authenticated via StorageSharedKeyCredential
See AccountSasSignatureValues for more information on how to construct an account SAS.
The snippet below generates a SAS that lasts for two days and gives the user read and list access to queues 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 = queueServiceAsyncClient.generateAccountSas(sasValues, new Context("key", "value"));
Parameters:
Returns:
String
representing the SAS query parameters.generateAccountSas
public String generateAccountSas(AccountSasSignatureValues accountSasSignatureValues, Consumer
Generates an account SAS for the Azure Storage account using the specified AccountSasSignatureValues.
Note : The client must be authenticated via StorageSharedKeyCredential
See AccountSasSignatureValues for more information on how to construct an account SAS.
Parameters:
Returns:
String
representing the SAS query parameters.getAccountName
public String getAccountName()
Get associated account name.
Returns:
getHttpPipeline
public HttpPipeline getHttpPipeline()
Gets the HttpPipeline powering this client.
Returns:
getMessageEncoding
public QueueMessageEncoding getMessageEncoding()
Gets the message encoding the client is using.
Returns:
getProperties
public Mono
Retrieves the properties of the storage account's Queue service. The properties range from storage analytics and metric to CORS (Cross-Origin Resource Sharing).
Code Samples
Retrieve Queue service properties
client.getProperties()
.subscribe(properties -> {
System.out.printf("Hour metrics enabled: %b, Minute metrics enabled: %b",
properties.getHourMetrics().isEnabled(), properties.getMinuteMetrics().isEnabled());
});
For more information, see the Azure Docs.
Returns:
getPropertiesWithResponse
public Mono
Retrieves the properties of the storage account's Queue service. The properties range from storage analytics and metric to CORS (Cross-Origin Resource Sharing).
Code Samples
Retrieve Queue service properties
client.getPropertiesWithResponse()
.subscribe(response -> {
QueueServiceProperties properties = response.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.
Returns:
getQueueAsyncClient
public QueueAsyncClient getQueueAsyncClient(String queueName)
Constructs a QueueAsyncClient that interacts with the specified queue. This will not create the queue in the storage account if it doesn't exist.
Parameters:
Returns:
getQueueServiceUrl
public String getQueueServiceUrl()
Gets the URL of the storage queue.
Returns:
getServiceVersion
public QueueServiceVersion getServiceVersion()
Gets the service version the client is using.
Returns:
getStatistics
public Mono
Retrieves the geo replication information about the Queue service.
Code Samples
Retrieve the geo replication information
client.getStatistics()
.subscribe(stats -> {
System.out.printf("Geo replication status: %s, Last synced: %s",
stats.getGeoReplication().getStatus(), stats.getGeoReplication().getLastSyncTime());
});
For more information, see the Azure Docs.
Returns:
getStatisticsWithResponse
public Mono
Retrieves the geo replication information about the Queue service.
Code Samples
Retrieve the geo replication information
client.getStatisticsWithResponse()
.subscribe(response -> {
QueueServiceStatistics stats = response.getValue();
System.out.printf("Geo replication status: %s, Last synced: %s",
stats.getGeoReplication().getStatus(), stats.getGeoReplication().getLastSyncTime());
});
For more information, see the Azure Docs.
Returns:
listQueues
public PagedFlux
Lists all queues in the storage account without their metadata.
Code Samples
List all queues in the account
client.listQueues().subscribe(
queueItem -> System.out.printf("Queue %s exists in the account", queueItem.getName()),
error -> System.err.print(error.toString()),
() -> System.out.println("Complete listing the queues!")
);
For more information, see the Azure Docs.
Returns:
listQueues
public PagedFlux
Lists the queues in the storage account that pass the filter. Pass true to setIncludeMetadata(boolean includeMetadata) to have metadata returned for the queues.
Code Samples
List all queues that begin with "azure"
client.listQueues(new QueuesSegmentOptions().setPrefix("azure")).subscribe(
queueItem -> System.out.printf("Queue %s exists in the account and has metadata %s",
queueItem.getName(), queueItem.getMetadata()),
error -> System.err.print(error.toString()),
() -> System.out.println("Complete listing the queues!")
);
For more information, see the Azure Docs.
Parameters:
Returns:
setProperties
public Mono
Sets the properties for the storage account's Queue service. The properties range from storage analytics and metric to CORS (Cross-Origin Resource Sharing). To maintain the CORS in the Queue service pass a null
value for getCors(). To disable all CORS in the Queue service pass an empty list for getCors().
Code Sample
Clear CORS in the Queue service
QueueServiceProperties properties = client.getProperties().block();
client.setProperties(properties)
.doOnSuccess(response -> System.out.println("Setting Queue service properties completed."));
Enable Minute and Hour Metrics
QueueServiceProperties properties = client.getProperties().block();
properties.getMinuteMetrics().setEnabled(true);
properties.getHourMetrics().setEnabled(true);
client.setProperties(properties).subscribe(
response -> System.out.println("Setting Queue service properties completed."));
For more information, see the Azure Docs.
Parameters:
Returns:
setPropertiesWithResponse
public Mono
Sets the properties for the storage account's Queue service. The properties range from storage analytics and metric to CORS (Cross-Origin Resource Sharing). To maintain the CORS in the Queue service pass a null
value for getCors(). To disable all CORS in the Queue service pass an empty list for getCors().
Code Sample
Clear CORS in the Queue service
QueueServiceProperties properties = client.getProperties().block();
client.setPropertiesWithResponse(properties)
.subscribe(response -> System.out.printf("Setting Queue service properties completed with status code %d",
response.getStatusCode()));
Enable Minute and Hour Metrics
QueueServiceProperties properties = client.getProperties().block();
properties.getMinuteMetrics().setEnabled(true);
properties.getHourMetrics().setEnabled(true);
client.setPropertiesWithResponse(properties)
.subscribe(response -> System.out.printf("Setting Queue service properties completed with status code %d",
response.getStatusCode()));
For more information, see the Azure Docs.
Parameters:
Returns:
Applies to
Azure SDK for Java