Erlazure is a library for accessing Windows Azure Storage Services. The API is subject to change.
Service APIs implemented:
Erlazure requires OTP version R16+.
Queue storage service
Blob storage service
Table storage service
Start an instance of erlazure by calling erlazure:new/2
where Account is Storage account name and Key is Storage account key.
{ok, State} = erlazure:new(Account, Key)
Account and Key are strings.
%% default dev credentials from Azurite
Account = "devstoreaccount1".
Key = "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==".
%% Mind the trailing slash at the end of the endpoint.
{ok, State} = erlazure:new(#{account => Account, key => Key, endpoint => "http://127.0.0.1:10000/"})
Almost each azure services request has three corresponding functions in erlazure
module, the first has minimal set of parameters, the second has additionaly list of Options
.
Options
as the name states is list of options supported by this azure services request, each options is tuple {OptionName, OptionValue}
where OptionName
is atom and OptionValue
can be of any type, option is passed either as a header or as a query string parameter.
For a list of supported options for each azure service request please consult msdn documentation.
{ok, State} = erlazure:new("storage", "2o4b4tHpoWifLU+BlyzsIG1VtlO9LgBRFyl1qLw/+w9/ZszSxKGIK8JYac/UEJp5r8HKgiOiG8YTqGS9otAYWA=="),
{ok, Binary} = file:read("/path/to/some/small/file"),
{ok, created} = erlazure:put_block_blob(State, "uploads", "test_upload.file", Binary).
Retrieves max 20 messages from a queue
{ok, State} = erlazure:new("storage", "2o4b4tHpoWifLU+BlyzsIG1VtlO9LgBRFyl1qLw/+w9/ZszSxKGIK8JYac/UEJp5r8HKgiOiG8YTqGS9otAYWA=="),
{ok, Messages} = erlazure:get_messages(State, "test_queue", [{num_of_messages, 20}]).
Copyright © 2013–2015 Dmitriy Kataskin
Licensed under BSD License (see LICENSE).