Skip to content

jakobht/azurex

Repository files navigation

Elixir CI Hex.pm

Azurex

Implementation of the Azure Blob Storage Rest API for Elixir.

Supported actions

Currently supports:

  1. Downloading blobs
  2. Uploading blobs
  3. Deleting blobs
  4. Stream uploading blobs
  5. Listing blobs
  6. Creating containers
  7. Listing containers

Installation

Available in Hex, the package can be installed by adding azurex to your list of dependencies in mix.exs e.g.:

def deps do
  [
    {:azurex, "~> 1.1.0"}
  ]
end

Configuration

The configuration should either define storage_account_name and storage_account_key or storage_account_connection_string.

config :azurex, Azurex.Blob.Config,
  api_url: "https://sample.blob.core.windows.net", # Optional
  default_container: "defaultcontainer", # Optional
  storage_account_name: "name",
  storage_account_key: "access key",
  storage_account_connection_string: "Storage=Account;Connection=String" # Required if storage account `name` and `key` not set

Each of these options is then overridable per-request, if you need to work with multiple instances:

Azurex.Blob.list_blobs(container: "other", api_uri: "https://other.blob.net")

Azurex.Blob.get_blob("file.txt", [
  storage_account_connection_string: "Account=Storage;String=Connection"
])

Azurex.Blob.put_blob("file.txt", "contents", "text/plain", [
  storage_account_key: "key",
  storage_account_name: "name"
])

Documentation

Documentation can be found at https://hexdocs.pm/azurex. Or generated using ExDoc

Development

The goal is to support all actions in the Azure Blob Storage Rest API - PRs welcome :)

About

Implementation of the Azure Blob Storage Rest API for elixir

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 11

Languages