Docs / Strand / connectors/azure-blob-storage

Azure Blob Storage

Direction: Read / Write | Type: azure.storage

Azure Blob Storage connector for uploading and downloading data from blob containers.

Required Permissions#

If using Azure RBAC (recommended), the service principal or managed identity must have the following roles:

Operation Required Azure Role
upload Storage Blob Data Contributor
download Storage Blob Data Reader
Both Storage Blob Data Contributor
Tip: Assign roles at the storage account or container level for least privilege. If using account keys for authentication, all operations are implicitly authorized.

Operations#

Operation Direction Description
upload Write Upload data to a blob container
download Read Read a blob's contents into the workflow as JSON
Info

The download operation reads blob content into the node's output payload as JSON. It does not download or save files to disk.

Connector Configuration#

Field Required Default Description
Authentication Type No api_key Uses explicit credentials (the fields below).
Account Name Yes - Azure storage account name
Account Key Conditional - Azure storage account access key (encrypted). Required when Authentication Type is api_key
Connection String No - Full Azure storage connection string (encrypted). Use instead of Account Name and Account Key to reach Azure Government, Azure China, or a private endpoint.
Account URL No - Explicit service URL, used in place of the public-cloud address (e.g. a private endpoint). Leave empty for public Azure.
Container Name No - Default blob container name (can be overridden at node level)

Node Configuration#

Field Required Description
Operation Yes upload or download
Container Name No Blob container name (overrides connector default)
Blob Name Depends Blob name/path. Auto-generated for uploads if not specified. Required for downloads.

Output#

upload#

json

{
  "success": true,
  "status": "uploaded",
  "data": {
    "container": "my-container",
    "blob_name": "path/to/file.json"
  },
  "service": "azure.storage",
  "operation": "upload"
}

download#

json

{
  "success": true,
  "status": "downloaded",
  "data": {
    "container": "my-container",
    "blob_name": "path/to/file.json",
    "content": {"your": "data"}
  },
  "service": "azure.storage",
  "operation": "download"
}

Access the content:

jinja2

{{ payload.data.content }}

Example#

Connector Setup:

json

{
  "account_name": "mystorageaccount",
  "account_key": "base64-encoded-key...",
  "container_name": "workflow-data"
}

Node Configuration (upload):

Node Configuration (download):