Azure Queue Storage
ref. https://docs.microsoft.com/en-us/rest/api/storageservices/queue-service-rest-api
{:ok, context} = AzureStorage.create_queue_service("account_name", "account_key")
context |> list_queues()
Summary
Functions
The Put Message operation adds a new message to the back of the message queue.
The Create Queue operation creates a queue in a storage account.
Azure Queue items can be retrieve by calling get_messages/3.
The Delete Queue operation permanently deletes the specified queue.
The Get Messages operation retrieves one or more messages from the front of the queue.
This operation lists all of the queues in a given storage account.
Update queue item commonly use for updating queue item visibility timeout as well as queue message body
Functions
The Put Message operation adds a new message to the back of the message queue.
A visibility timeout can also be specified to make the message invisible until the visibility timeout expires. A message must be in a format that can be included in an XML request with UTF-8 encoding. The encoded message can be up to 64 KiB in size for versions 2011-08-18 and newer, or 8 KiB in size for previous versions.
ref. https://docs.microsoft.com/en-us/rest/api/storageservices/put-message
context |> create_message("booking-queue", "hello world")
The Create Queue operation creates a queue in a storage account.
ref. https://docs.microsoft.com/en-us/rest/api/storageservices/create-queue4
context |> create_queue("booking-queue")
Azure Queue items can be retrieve by calling get_messages/3.
However, queue items are not remove from storage. Therefore, client need to send request to delete queue item when it is done processing.
The Delete Queue operation permanently deletes the specified queue.
ref. https://docs.microsoft.com/en-us/rest/api/storageservices/delete-queue3
context |> delete_queue("booking-queue")
@spec get_messages(AzureStorage.Request.Context.t(), String.t(), keyword()) :: {:ok, list() | []} | {:error, String.t()}
The Get Messages operation retrieves one or more messages from the front of the queue.
ref. https://docs.microsoft.com/en-us/rest/api/storageservices/get-messages
Supported options:
:visibilitytimeout(integer/0) - Message visibility timeout in second The default value is30.:numofmessages(integer/0) - Number of messages to retrieve from the queue, up to a maximum of 32. The default value is1.:timeout(pos_integer/0) - The default value is30.
@spec list_queues(AzureStorage.Request.Context.t()) :: {:ok, %{items: list() | [], marker: String.t() | nil}} | {:error, String.t()}
This operation lists all of the queues in a given storage account.
Update queue item commonly use for updating queue item visibility timeout as well as queue message body
{:ok, messages} = context |> get_messages("booking-queue")
[head | tail] = messages
context |> update_message("booking-queue", head, "hello world!")Supported options:
:visibilitytimeout(integer/0) - Message visibility timeout in second The default value is0.:messagettl(integer/0) - Message time to live in second The default value is604800.:timeout(pos_integer/0) - The default value is30.