Azure Blob Storage

Overview

Azure Blob Storage

The Destination Connector allows you to sync data to Azure Blob Storage. Each stream is written to its own blob under the container.

Azure Blob Storage Configuration

This reference table describes the portal fields required for key and role authentication types. Replace the values in brackets ({}) with the applicable information for your Azure account and resources.

ParameterDescriptionExample
Endpoint Domain NameOptionalThis is Azure Blob Storage endpoint domain name. If empty, will use Microsoft native one.blob.core.windows.net
Azure blob storage container (Bucket) NameRequiredA name of the Azure blob storage container. If not exists - will be created automatically. If leave empty, then will be created automatically tarsalcontainer+timestamp.tarsal-audit-logs
Azure Blob Storage account nameRequiredThe account's name of the Azure Blob Storage.tarsal-account
Azure blob storage account keyRequiredAzure blob storage account key.abcdefghijklmnopqrstuvwxyz/0123456789+ABCDEFGHIJKLMNOPQRSTUVWXYZ/0123456789%++sampleKey==
Azure Blob Storage output buffer sizeOptionalAzure Blob Storage output buffer size, in megabytes.5
Output FormatRequiredThe delimiter in the destination data file(s)JSONL

Add and configure the Azure Blob Storage destination connector:

  1. Sign in to the Tarsal portal at https://app.tarsal.cloud.
  2. Go to Configuration > Destinations from the left navigation.
  3. Click the Add Destination button in the upper right.
  4. Click Azure Blob Storage.
  5. Under Metadata, enter Azure Blob Storage for Name.
  6. Under Configuration,
    1. enter your bucket name for Azure Blob Storage Container Name.
    2. enter your account name for Azure Blob Storage Account Name.
    3. Fill out the optional fields if applies
  7. Under Output Format
    1. Select JSONL.
  8. Click the Save button.

The portal immediately notifies you whether the connector configuration is successful with a status banner in the lower right.

If the connector configuration fails, verify all preceding steps or contact Tarsal customer support. See the next section for testing.

Test the Connector

In the portal, hover over the icon in the Health column for the connector in the list on the Destinations page or next to the Status label on the connector’s detail page. A broken heart icon indicates failure, and the Summary widget on the Destinations page also lists destinations errors.

📘

Updating AWS Configurations

Be sure to test the connector configuration in the portal after any AWS changes to associated users, roles, policies, or regions.

  1. Sign in to the Tarsal portal at https://app.tarsal.cloud.
  2. Go to Configuration > Destinations from the left navigation.
  3. In the Destinations list, click . . . (three dots) under the Actions column for the connector.
  4. Select Test from the drop-down list.

A banner in the lower right indicates the success or failure of the connector configuration test.

Alternatively, the connector can be tested directly from the connector destination detail page using the Test button in the upper right.

Output Schema

Each stream will be outputted to its dedicated Blob according to the configuration. The complete datastore of each stream includes all the output files under that Blob. You can think of the Blob as equivalent of a Table in the database world. New output files will be added that only contain the new data.

ColumnConditionDescription
dataAlways existsThe log or event data
_tarsal_metadataAlways existsTarsal-defined column for each record; an event processing timestamp and UUID
Root-level fieldsRoot-level normalization (flattening)Expanded root-level field

JSON Lines (JSONL)

JSON Lines, or newline-delimited JSON, is a text format for structured data. JSONL has one JSON per line. The output file has the following structure:

{  
  "_tarsal_metadata": "<json-metadata>"  
  "data": "<json-data-from-source>"  
}

An example of JSON source and output follows:

[
  {
    "user_id": 123,
    "name": {
      "first": "John",
      "last": "Doe"
    }
  },
  {
    "user_id": 456,
    "name": {
      "first": "Jane",
      "last": "Roe"
    }
  }
]
{ "_tarsal_metadata": {"_tarsal_id": "0a61de1b-9cdd-4455-a739-93572c9a5f20", "_tarsal_emitted_at": "1631948170000"}, "data": { "user_id": 123, "name": { "first": "John", "last": "Doe" } } }
{ "_tarsal_metadata": {"_tarsal_id": "0a61de1b-9cdd-4455-a739-93572c9a5f20", "_tarsal_emitted_at": "1631948170000"}, "data": { "user_id": 456, "name": { "first": "Jane", "last": "Roe" } } }