Azure Blob Storage
Datafly Signal delivers events as blobs to Azure Blob Storage containers for data lake, archival, and analytics workloads.
Prerequisites
Before configuring Azure Blob Storage in Signal, you need an Azure account with a Storage Account, a blob container, and a connection string.
Create an Azure Account
If you don’t already have one, sign up at azure.microsoft.com. Set up a subscription with billing configured.
Create a Storage Account
- In the Azure portal, search for Storage accounts and click Create.
- Select your Subscription and Resource group (or create a new one).
- Enter a Storage account name (e.g.
dataflysignalevents). Names must be globally unique, 3-24 characters, lowercase letters and numbers only. - Select a Region close to your Signal deployment.
- Choose Performance: Standard (recommended) or Premium.
- Choose Redundancy: LRS (cheapest), GRS, or ZRS based on your durability requirements.
- Click Review + Create > Create.
Create a Blob Container
- Open your new Storage Account in the Azure portal.
- In the left sidebar, click Containers (under Data storage).
- Click + Container.
- Enter a Name (e.g.
datafly-events). - Set Public access level to Private (recommended).
- Click Create.
Get the Connection String
- In your Storage Account, go to Security + networking > Access keys.
- Click Show next to one of the connection strings.
- Copy the full Connection string value.
⚠️
Store the connection string securely. It provides full access to your storage account. Consider using a Shared Access Signature (SAS) with limited permissions for production deployments.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
storage_account | string | Yes | The name of the Azure Storage account. |
container_name | string | Yes | The name of the blob container where event files will be written. |
connection_string | secret | Yes | The Azure Storage connection string with write access to the container. |
prefix | string | No | Optional prefix (virtual directory) prepended to all blob names. Include a trailing slash. |
file_format | select | Yes | The output file format for event data: json or parquet. |
Signal Setup
Quick Setup
- Navigate to Integrations in the sidebar.
- Open the Integration Library tab.
- Find Azure Blob Storage or filter by Cloud Storage.
- Click Install, select a variant if available, and fill in the required fields.
- Click Install Integration to create the integration with a ready-to-use default blueprint.
API Setup
curl -X POST http://localhost:8084/v1/admin/integration-catalog/azure_blob/install \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Azure Blob Storage",
"variant": "default",
"config": {
"storage_account": "dataflysignalevents",
"container_name": "datafly-events",
"connection_string": "DefaultEndpointsProtocol=https;AccountName=dataflysignalevents;AccountKey=YOUR_KEY;EndpointSuffix=core.windows.net",
"prefix": "events/",
"file_format": "json"
},
"delivery_mode": "server_side"
}'Testing
- Enable the integration in Signal and trigger a test event on your website.
- In the Azure portal, open your Storage Account > Containers > your container.
- Browse the blob list and verify that event files are appearing under the configured prefix.
- Click on a blob to download and inspect the event data.
- In Signal, check the Live Events view to confirm delivery status shows as successful.
Troubleshooting
| Problem | Solution |
|---|---|
| Events not appearing in the container | Verify the storage account name, container name, and connection string are correct. |
AuthenticationFailed | The connection string is invalid or the account key has been rotated. Get a fresh connection string from Access Keys. |
ContainerNotFound | The container does not exist. Verify the container name in the Azure portal. |
AuthorizationPermissionMismatch | If using a SAS token, ensure it has Write and Create permissions on the container. |
| Blobs appearing but empty | Check the batch settings. Events are buffered before flushing to blobs. |
| Connection timeout | Verify the storage account is accessible from Signal’s network. Check any firewall rules under Networking > Firewalls and virtual networks. |
Visit Azure Blob Storage documentation for full API reference, lifecycle management, and access tier configuration.