Docs / Strand / connectors/azure-queue
Azure Queue Storage
Direction: Read / Write | Type: azure.queue
Azure Queue Storage connector for sending and receiving messages from storage queues.
Required Permissions
If using Azure RBAC (recommended), the service principal or managed identity must have the following roles:
| Operation | Required Azure Role |
|---|---|
send_message |
Storage Queue Data Message Sender |
receive_message |
Storage Queue Data Message Processor |
| Both | Storage Queue Data Contributor |
Tip: Assign roles at the storage account or queue level for least privilege. If using account keys for authentication, all operations are implicitly authorized.
Operations
| Operation | Direction | Description |
|---|---|---|
send_message |
Write | Send a message to the queue |
receive_message |
Read | Receive and dequeue a message |
Connector Configuration
| Field | Required | Default | Description |
|---|---|---|---|
| Authentication Type | No | api_key |
api_key for explicit credentials, role to use Azure Managed Identity / DefaultAzureCredential |
| Account Name | Yes | - | Azure storage account name |
| Account Key | Conditional | - | Azure storage account 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 with role auth in place of the public-cloud address (e.g. a private endpoint). Leave empty for public Azure. |
| Tenant ID | Conditional | - | Your Azure AD tenant ID. Required when Authentication Type is role. The Tendrl app must be registered/consented in this tenant. |
| Queue Name | No | - | Default queue name (can be overridden at node level) |
Role-Based Authentication
When using role authentication, the connector authenticates via Azure Managed Identity / DefaultAzureCredential. You must still supply both Account Name and Tenant ID; no keys or connection string are needed. Set Account URL as well if the account is not on public Azure.
Node Configuration
| Field | Required | Description |
|---|---|---|
| Operation | Yes | send_message or receive_message |
| Queue Name | No | Queue name (overrides connector default) |
Output
send_message
json
{
"success": true,
"status": "sent",
"data": {
"queue": "my-queue"
},
"service": "azure.queue",
"operation": "send_message"
}
receive_message
json
{
"success": true,
"status": "received",
"data": {
"queue": "my-queue",
"message": {"key": "value"}
},
"service": "azure.queue",
"operation": "receive_message"
}
When the queue is empty:
json
{
"success": true,
"status": "empty",
"data": {
"queue": "my-queue",
"message": null
},
"service": "azure.queue",
"operation": "receive_message"
}
Example
Connector Setup:
json
{
"account_name": "mystorageaccount",
"account_key": "base64-encoded-key...",
"queue_name": "task-queue"
}
Connector Setup (role-based):
json
{
"auth_type": "role",
"account_name": "mystorageaccount",
"tenant_id": "00000000-0000-0000-0000-000000000000",
"queue_name": "task-queue"
}
Tendrl