ExAzureCore
Base library for Azure SDKs in Elixir. Provides authentication, HTTP client infrastructure, and common utilities for service-specific Azure SDKs.
Installation
Add ex_azure_core to your dependencies in mix.exs:
def deps do
[
{:ex_azure_core, "~> 0.1.0"}
]
endUsage
# Define an operation (typically done by service SDKs)
operation = %ExAzureCore.Operation.REST{
method: :get,
service: :storage,
path: "/",
params: %{comp: "list"}
}
# Execute the operation
{:ok, response} = ExAzureCore.request(operation)
# Or raise on error
response = ExAzureCore.request!(operation)
# Stream paginated results
ExAzureCore.stream!(operation)
|> Enum.each(&process_item/1)Configuration
Configuration uses a 4-level hierarchy (lowest to highest priority):
- Service defaults
-
Global config:
config :ex_azure_core -
Service-specific:
config :ex_azure_core, :storage - Per-request overrides
# config/config.exs
config :ex_azure_core,
tenant_id: {:system, "AZURE_TENANT_ID"},
client_id: {:system, "AZURE_CLIENT_ID"}
config :ex_azure_core, :storage,
account_name: "myaccount"License
MIT