Skip to Content
DestinationsCloud StorageAzure Blob Storage

Azure Blob Storage

Write files to an Azure Blob Storage container in CSV or JSONL format. Use Zeotap to export model results, audience lists, or enriched data as blobs for downstream consumption.

Prerequisites

  • An Azure Storage account with a Blob container
  • A storage account name and account key (or connection string)
  • The container must already exist

Authentication

Azure Blob Storage uses Account Key authentication.

  1. In the Azure Portal, go to your storage account
  2. Navigate to Access keys under Security + Networking
  3. Copy the Storage account name and one of the Account keys
  4. Enter both values in Zeotap

Configuration

FieldTypeRequiredDescription
Container NameTextYesThe Azure Blob Storage container to write files to (e.g., my-data-container)
Path PrefixTextNoOptional prefix for all blob paths within the container. Default: zeotap/

Target Settings

FieldTypeRequiredDescription
File FormatSelectYesOutput file format: CSV or JSONL (Newline Delimited JSON). Default: CSV
Enable Gzip CompressionToggleNoCompress files with gzip before uploading. Default: On

Supported Operations

Sync Modes: Insert, Mirror, Snapshot

Audience Sync Modes: Add, Mirror, Snapshot

Features

  • Field Mapping: No — Azure Blob Storage writes all mapped fields as file columns
  • Schema Introspection: No — Azure Blob Storage is a file-based destination without schema discovery

How It Works

Zeotap writes data as blobs to the configured Azure container:

  1. Data is serialized into the selected format (CSV or JSONL)
  2. If gzip compression is enabled, the file is compressed before upload
  3. Blobs are uploaded to https://{account}.blob.core.windows.net/{container}/{path_prefix}/{YYYY-MM-DD}/{batch_id}.{ext}[.gz]
  4. Each sync run produces a new set of date-partitioned blobs

Sync mode semantics

  • Insert writes the full current dataset as new blobs on every run.
  • Mirror writes the full dataset on the first run, then only the rows that changed on later runs. Every row in a mirror-mode blob carries an _operation column — added, changed, or removed — so downstream consumers can apply updates and deletions. On the first run all rows are marked added. In CSV files _operation is always the last column; treat the name as reserved in mirror mode.
  • Add (audience syncs) writes only new and updated audience members. Members who left the audience since the previous run are excluded from the blobs.
  • Snapshot writes the complete current dataset as new blobs on every run and never diffs. There is no _operation column (the blobs are the whole dataset) and unchanged rows are included every time. Records that left are simply absent from the next drop rather than delivered tagged removed, so treat each run’s output as authoritative and replace your prior copy rather than merging into it. Unlike Insert, snapshot is guaranteed to read the full model output on every warehouse: it never adopts native change tracking (Snowflake streams, Databricks CDF), which can only surface deltas.

Troubleshooting

Authentication failed

Verify the storage account name and account key are correct. Account keys can be regenerated in the Azure Portal — if regenerated, update the key in Zeotap.

Container not found

The container must exist before syncing. Create it in the Azure Portal under your storage account’s Containers section.

Access denied

If using Azure RBAC instead of account keys, ensure the identity has the Storage Blob Data Contributor role on the container.

Network restrictions

If the storage account has firewall rules enabled, ensure Zeotap’s IP addresses are allowlisted, or the account allows access from all networks.

Last updated on