IntegrationsObject StorageAzure Blob Storage

Azure Blob Storage

Datafly Signal writes batches of first-party events as blobs into an Azure Blob Storage container — ready for query with Synapse, Databricks, Fabric, or your preferred analytics engine.

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

  1. In the Azure portal, search for Storage accounts and click Create.
  2. Select your Subscription and Resource group (or create a new one).
  3. Enter a Storage account name (e.g. dataflysignalevents). Names must be globally unique, 3-24 characters, lowercase letters and numbers only.
  4. Select a Region close to your Signal deployment.
  5. Choose Performance: Standard (recommended) or Premium.
  6. Choose Redundancy: LRS (cheapest), GRS, or ZRS based on your durability requirements.
  7. Click Review + Create > Create.

Create a Blob Container

  1. Open your new Storage Account in the Azure portal.
  2. In the left sidebar, click Containers (under Data storage).
  3. Click + Container.
  4. Enter a Name (e.g. datafly-events).
  5. Set Public access level to Private (recommended).
  6. Click Create.

Get the Connection String

  1. In your Storage Account, go to Security + networking > Access keys.
  2. Click Show next to one of the connection strings.
  3. 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

FieldTypeRequiredDescription
account_namestringYesThe Azure Storage account name. Also accepts storage_account.
containerstringYesThe blob container name. Also accepts container_name.
account_keysecretOne of theseStorage account access key. Also accepts connection_string.
sas_tokensecretOne of theseOptional SAS token granting Write + Create on the container — preferred over the account key for production.
prefixstringNoOptional prefix (virtual directory) prepended to all blob names. Include a trailing slash.

Signal Setup

Quick Setup

  1. Navigate to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find Azure Blob Storage or filter by Cloud Storage.
  4. Click Install, select a variant if available, and fill in the required fields.
  5. 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": {
      "account_name": "dataflysignalevents",
      "container": "datafly-events",
      "account_key": "YOUR_STORAGE_ACCOUNT_KEY",
      "prefix": "events/"
    },
    "delivery_mode": "server_side"
  }'

Schema

Signal writes batched events as newline-delimited JSON (NDJSON) blobs. Each line is one event using the canonical envelope (event_id, type, event, anonymous_id, user_id, timestamp, received_at, sent_at, context, properties, traits, source_id, integration_id).

Blob names follow the pattern <prefix>YYYY/MM/DD/HH/<batch-uuid>.json.gz, suitable for partitioned reads from Synapse, Databricks, or Fabric.

Azure Blob Storage is a first-party destination in your own subscription. The default blueprint forwards all events. Apply consent-aware filtering or partitioning via pipeline transforms on context.consent if needed.

Testing

  1. Enable the integration in Signal and trigger a test event on your website.
  2. In the Azure portal, open your Storage Account > Containers > your container.
  3. Browse the blob list and verify that event files are appearing under the configured prefix.
  4. Click on a blob to download and inspect the event data.
  5. In Signal, check the Live Events view to confirm delivery status shows as successful.

Troubleshooting

ProblemSolution
Events not appearing in the containerVerify the storage account name, container name, and connection string are correct.
AuthenticationFailedThe connection string is invalid or the account key has been rotated. Get a fresh connection string from Access Keys.
ContainerNotFoundThe container does not exist. Verify the container name in the Azure portal.
AuthorizationPermissionMismatchIf using a SAS token, ensure it has Write and Create permissions on the container.
Blobs appearing but emptyCheck the batch settings. Events are buffered before flushing to blobs.
Connection timeoutVerify 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.

See also