ExAzureCore. Credentials
(ex_azure_core v0.3.0)
Copy Markdown
Azure credential types for authentication.
Provides credential types matching the Azure Python SDK:
AzureKeyCredential- Simple API key for Cognitive Services, Search, etc.AzureSasCredential- SAS token for Azure StorageAzureNamedKeyCredential- Account name + key pair for Storage, Cosmos DB
Usage with HTTP Plugins
alias ExAzureCore.Credentials
# API Key for Cognitive Services
{:ok, key_cred} = Credentials.key_credential("my-api-key")
Req.new(base_url: "https://myservice.cognitiveservices.azure.com")
|> ExAzureCore.Http.Plugins.ApiKey.attach(
api_key: key_cred,
header_name: "Ocp-Apim-Subscription-Key"
)
# SAS for Storage
{:ok, sas_cred} = Credentials.sas_credential("sv=2021-06-08&ss=b...")
Req.new(base_url: "https://myaccount.blob.core.windows.net")
|> ExAzureCore.Http.Plugins.SasToken.attach(sas_token: sas_cred)
# Named Key for Storage
{:ok, named_cred} = Credentials.named_key_credential("myaccount", "base64key==")
Req.new(base_url: "https://myaccount.blob.core.windows.net")
|> ExAzureCore.Http.Plugins.SharedKey.attach(named_key_credential: named_cred)
Summary
Functions
Creates a new API key credential.
Creates a new named key credential.
Creates a new SAS credential.
Functions
@spec key_credential(String.t()) :: {:ok, ExAzureCore.Credentials.AzureKeyCredential.t()} | {:error, ExAzureCore.Credentials.Errors.CredentialError.t()}
Creates a new API key credential.
Example
{:ok, credential} = ExAzureCore.Credentials.key_credential("my-secret-key")
@spec named_key_credential(String.t(), String.t()) :: {:ok, ExAzureCore.Credentials.AzureNamedKeyCredential.t()} | {:error, ExAzureCore.Credentials.Errors.CredentialError.t()}
Creates a new named key credential.
Example
{:ok, credential} = ExAzureCore.Credentials.named_key_credential("myaccount", "base64key==")
@spec sas_credential(String.t()) :: {:ok, ExAzureCore.Credentials.AzureSasCredential.t()} | {:error, ExAzureCore.Credentials.Errors.CredentialError.t()}
Creates a new SAS credential.
Example
{:ok, credential} = ExAzureCore.Credentials.sas_credential("sv=2021-06-08&ss=b...")