AzureStorage.Queue (AzureStorage v0.1.6) View Source

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()

Link to this section 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

Link to this section Functions

Link to this function

create_message(context, queue_name, text, options \\ [])

View Source

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")
Link to this function

create_queue(context, name)

View Source

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")
Link to this function

delete_message(context, queue_name, map)

View Source

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.

Link to this function

delete_queue(context, name)

View Source

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")
Link to this function

get_messages(context, queue_name, options \\ [])

View Source

Specs

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 - false Message visibility timeout in second The default value is 30.

  • :numofmessages - false Number of messages to retrieve from the queue, up to a maximum of 32. The default value is 1.

  • :timeout - false The default value is 30.

Specs

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.

Link to this function

update_message(context, queue_name, map, text, options \\ [])

View Source

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 - false Message visibility timeout in second The default value is 0.

  • :messagettl - false Message time to live in second The default value is 604800.

  • :timeout - false The default value is 30.