Docs / Contact / connectors/azure-blob-storage
Azure Blob Storage
Provider:azure| Service:storage| Direction: Write
Azure Blob Storage connector for writing (uploading) data to a blob container.
Required Permissions
If using Azure RBAC (recommended with role auth), the Contact service principal must have:
| Operation | Required Azure Role |
|---|---|
| Upload | Storage Blob Data Contributor |
Tip: Assign the role at the storage account or container level for least privilege. If using an account key (api_key auth), all operations are implicitly authorized.
Operation
When a message reaches this connector, it writes a blob to the configured container. The payload must supply:
| Payload field | Required | Description |
|---|---|---|
path |
Yes | Blob name/path within the container |
content |
Yes | Blob content to upload |
Connector Configuration
The connector is created with type: "cloud", provider: "azure", service_type: "storage", plus:
Field (config) |
Required | Description |
|---|---|---|
auth_type |
No | api_key (default) or role. See below. |
account_name |
Yes | Azure storage account name |
account_key |
Conditional | Storage account access key (use ${secrets.azure_storage_key}). Required when auth_type is api_key. |
container |
Yes | Blob container name |
Role-based (cross-tenant) authentication
Set auth_type: "role" to authenticate as the Contact Azure AD application registered in your tenant. Provide tenant_id (required) and account_name; no account_key is needed.
Output
json
{
"status": "completed",
"data": {
"status": "uploaded",
"path": "events/abc123.json"
}
}
Example
Connector config (account key):
json
{
"type": "cloud",
"provider": "azure",
"service_type": "storage",
"account_name": "mystorageaccount",
"account_key": "${secrets.azure_storage_key}",
"container": "device-data"
}
Connector config (cross-tenant role):
json
{
"type": "cloud",
"provider": "azure",
"service_type": "storage",
"auth_type": "role",
"tenant_id": "00000000-0000-0000-0000-000000000000",
"account_name": "mystorageaccount",
"container": "device-data"
}
Tendrl