Azure Storage - Delete message
Declaration
<AMAZURESTORAGE ACTIVITY="delete_message" SESSION="text" ACCOUNTNAME="text" ACCESSKEY="text (encrypted)" PROTOCOL="text (options)" TIMEOUT="number" BLOBENDPOINT="text" QUEUEENDPOINT="text" TABLEENDPOINT="text" PROXYTYPE="text (options)" PROXYSERVER="text" PROXYPORT="number" PROXYUSERNAME="text" PROXYPASSWORD="text (encrypted)" QUEUE="text" ID="text" POSTRECEIPT="text" />
Description
Deletes a specific message from the queue based on the message ID and post receipt value. These values are returned by the Azure Storage - Get message activity in the form of a dataset.
Practical usage
Commonly used to delete a message after it has been retrieved and processed. When a message is successfully deleted, it is immediately marked for deletion and is no longer accessible to clients. The message is later removed from the queue during garbage collection.
Parameters
Connection
Property | Type | Required | Default | Markup | Description |
---|---|---|---|---|---|
Connection | --- | --- | --- | --- | Indicates where user
credentials and preferences should originate from. The available options are:
NOTE: This parameter does not contain markup and is only displayed in visual mode for task construction and configuration purposes. |
Connection - Session
Property | Type | Required | Default | Markup | Description |
---|---|---|---|---|---|
Session | Text | Yes, if Connection is set to Session | AzureStorageSession1 | SESSION="MyAzureSession" | The
name of the Azure Storage session to create. The default value
is AzureStorageSession1. NOTE: Use the Azure Storage - End session
activity to end an active Azure Storage session. |
Connection - Host > Credentials
Property | Type | Required | Default | Markup | Description |
---|---|---|---|---|---|
Account name | Text | Yes, if Connection is set to Host | (Empty) | ACCOUNTNAME="myaccount" | The globally unique name of the Windows Azure storage account. |
Access key | Text | Yes, if Connection is set to Host | (Empty) | ACCESSKEY="[AccessKey]" | The primary or secondary access key (each composed of 88 ASCII characters) used to authorize access to Azure Storage. |
Connection - Host > Advanced
Property | Type | Required | Default | Markup | Description |
---|---|---|---|---|---|
Protocol | Text (options) | No | HTTPS |
|
The
type of protocol used to access Azure Storage. The available options
are:
|
Timeout (seconds) | Number | No | 90 | TIMEOUT="180" | The timeout interval (in seconds) for requests made to the storage service. If the timeout elapses before a server response is returned, the operation times out and the service returns an error. The default timeout value is 90 seconds. |
Blob endpoint URI | Text | No | (Empty) | BLOBENDPOINT="http://accnt.blob.core.windows.net" | The endpoint for the Blob service, as configured for the Azure Storage account. The default Blob service endpoint is [http/https]://accountname.blob.core.windows.net, where accountname is the name of the Azure Storage account. |
Queue endpoint URI | Text | No | (Empty) | QUEUEENDPOINT="http://accnt.queue.core.windows.net" | The endpoint for the Queue service, as configured for the Azure storage account. The default Queue service endpoint is [http/https]://accountname.queue.core.windows.net, where accountname is the name of the Azure Storage account. |
Table endpoint URI | Text | No | (Empty) | TABLEENDPOINT="http://accnt.table.core.windows.net" | The endpoint for the Table service, as configured for the Azure storage account. The default Table service endpoint is [http|https]://accountname.table.core.windows.net, where accountname is the name of the Azure Storage account. |
Proxy type | Text (options) | Yes | System default |
|
The
type of proxy required for SharePoint connections passing through
a proxy server. The available options are:
|
Use authentication | --- | No | --- | --- | If
enabled, specifies proxy authentication is required,
enabling authentication-based parameters (disabled by default).
It is active only if the Proxy
type parameter is set to HTTP. NOTE: This parameter does not contain markup and is only displayed in visual mode for task construction and configuration purposes. |
Proxy server | Text | Yes, if Proxy type is set to HTTP | (Empty) | PROXYSERVER="proxy.host.com" | The hostname (server.domain.com) or IP address (xxx.xxx.xxx.xxx) of the proxy server. This parameter is available only if the Proxy type parameter is set to HTTP. |
Proxy username | Text | No | (Empty) | PROXYUSERNAME="username" | The proxy username to authenticate with. This parameter is available only if Use authentication is enabled. |
Proxy port | Number | No | 808 | PROXYPORT="8080" | The port number to use to connect to the proxy server. This parameter is available only if the Proxy type parameter is set to HTTP. The default value is 808. |
Proxy password | Text | No | (Empty) | PROXYPASSWORD="encrypted" | The proxy password to authenticate with. This parameter is available only if Use authentication is enabled. |
Message
Property | Type | Required | Default | Markup | Description |
---|---|---|---|---|---|
Queue name | Text | Yes | (Empty) | QUEUE="myQueue" | The unique name of the storage queue containing the message to delete. |
Message ID | Text | Yes | (Empty) | ID="[SystemString]" | The message ID value. This is a system string value returned by a subsequent Get message step that identifies the message in the queue. |
Post receipt | Text | Yes | (Empty) | POSTRECEIPT="[SystemString]" | The post or pop receipt value. This receipt indicates that the message has been retrieved and its value can be used to delete it. In order for this delete operation to succeed, the pop receipt specified on the request must match the pop receipt returned by the Azure Storage - Get all messages activity. |
Example
- Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
- To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.
Description
This sample task creates an Azure storage session, retrieves all messages from a specified queue and populates a dataset with results. It then loops through the dataset of retrieved queue messages and deletes a message with a specific ID/POP receipt. An Azure Storage - End session activity marks the end of the session as well as the task.
<!-- Create session -->
<AMAZURESTORAGE ACTIVITY="create_session" ACCOUNTNAME="netauto2004" ACCESSKEY="AM2rpq73bKmXN7UmqHdyKZZ3qCaiN3apmzen5q83eWmU967mr7d7aZs3oma592opmjeiZqF3eymLN60mpTdtaZu3oiamN3Upk/ev5qb3eCmK96Vmq7dzqZO3pyant3vplfeq5q23fGmYN7HmuPdyqZZ3tyajt3UpnHevJqg3femed6impnd7KZ+3r2aht3pplnevJr43aimat7Ymvvd4aZz3sOai93KpmjepJq73b6mJd7smszdg6YY3g==aME" PROTOCOL="http" SESSION="myQueueSession" />
<!-- Get all messages from queue -->
<AMAZURESTORAGE ACTIVITY="get_all_message" QUEUE="myqueue" RESULTDATASET="theDataset" DELETE="no" PROVIDER="session_based" SESSION="myQueueSession" />
<!-- Loop dataset -->
<AMLOOP ACTIVITY="dataset" DATASET="theDataset"><!-- Delete message with specific ID/Pop receipt --><AMAZURESTORAGE ACTIVITY="delete_message" QUEUE="myqueue" ID="3b402357-2f5c-4b10-ae71-d9aca57e3f4e" POSTRECEIPT="AgAAAAEAAACzOQAALzOCMJGkzAE=" PROVIDER="session_based" SESSION="myQueueSession" /><!-- End loop --></AMLOOP>
<!-- Delete message with specific ID/Pop receipt -->
<AMAZURESTORAGE ACTIVITY="delete_message" QUEUE="myqueue" ID="3b402357-2f5c-4b10-ae71-d9aca57e3f4e" POSTRECEIPT="AgAAAAEAAACzOQAALzOCMJGkzAE=" PROVIDER="session_based" SESSION="myQueueSession" />
<!-- End loop -->
<AMLOOP ACTIVITY="end" />
<!-- End session -->
<AMAZURESTORAGE ACTIVITY="end_session" SESSION="myQueueSession" />