R interface to Azure queue storage
Перейти к файлу
Hong Ooi 218afec466 bump to dev version 2021-01-13 06:36:42 +11:00
.github/workflows switch to Github Actions, change maintainer email 2020-10-16 02:01:48 +11:00
R update docs 2020-05-27 11:13:34 +10:00
man change maintainer email, redoc 2020-10-16 02:21:01 +11:00
tests metadata get/set 2020-04-07 04:34:41 +10:00
vignettes change maintainer email, redoc 2020-10-16 02:21:01 +11:00
.Rbuildignore switch to Github Actions, change maintainer email 2020-10-16 02:01:48 +11:00
.gitignore skeleton 2020-01-04 19:37:33 +11:00
CONTRIBUTING.md first check fixes 2020-04-06 07:55:04 +10:00
DESCRIPTION bump to dev version 2021-01-13 06:36:42 +11:00
LICENSE skeleton 2020-01-04 19:37:33 +11:00
LICENSE.md skeleton 2020-01-04 19:37:33 +11:00
NAMESPACE metadata get/set 2020-04-07 04:34:41 +10:00
NEWS.md switch to Github Actions, change maintainer email 2020-10-16 02:01:48 +11:00
README.md switch to Github Actions, change maintainer email 2020-10-16 02:01:48 +11:00
SECURITY.md Initial SECURITY.md commit 2019-12-12 01:53:48 -08:00

README.md

AzureQstor

CRAN Downloads R-CMD-check

An R interface to Azure queue storage, building on the functionality provided by AzureStor.

The primary repo for this package is at https://github.com/Azure/AzureQstor; please submit issues and PRs there. It is also mirrored at the Cloudyr org at https://github.com/cloudyr/AzureQstor. You can install the development version of the package with devtools::install_github("Azure/AzureQstor").

Azure queue storage is a service for storing large numbers of messages that can be accessed from anywhere in the world via authenticated calls using HTTP or HTTPS. A single queue message can be up to 64 KB in size, and a queue can contain millions of messages, up to the total capacity limit of a storage account. Queue storage is often used to create a backlog of work to process asynchronously.

AzureQstor uses a combination of S3 and R6 classes. The queue endpoint is an S3 object for compatibility with AzureStor, while R6 classes are used to represent queues and messages.

library(AzureQstor)

endp <- storage_endpoint("https://mystorage.queue.core.windows.net", key="access_key")

# creating, retrieving and deleting queues
create_storage_queue(endp, "myqueue")
qu <- storage_queue(endp, "myqueue")

qu2 <- create_storage_queue(endp, "myqueue2")
delete_storage_queue(qu2)

The queue object exposes methods for getting (reading), peeking, deleting, updating, popping (reading and deleting) and putting (writing) messages:

qu$put_message("Hello queue")
msg <- qu$get_message()

msg$text
## [1] "Hello queue"

# get several messages at once
qu$get_messages(n=30)

The message object exposes methods for deleting and updating the message:

msg$update(visibility_timeout=30, text="Updated message")
msg$delete()

You can get and set metadata for a queue with the AzureStor get/set_storage_metadata generics:

get_storage_metadata(qu)
set_storage_metadata(qu, name1="value1", name2="value2")