> For the complete documentation index, see [llms.txt](https://docs.onum.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onum.com/data-sinks/data-sink-integrations/send-data-to-azure-blob-storage.md).

# Send data to Azure Blob Storage

{% hint style="info" %}
See the changelog of the **Azure Blob Storage** Data sink type [here](/data-sinks-changelog/azure-blob-storage-data-sink.md).
{% endhint %}

## Overview

Onum supports integration with [Azure Blob Storage](https://azure.microsoft.com/products/storage/blobs).

By integrating with Azure Storage, your organization leverages the advantages of Azure to enhance operational efficiency, reduce costs, and ensure the security and availability of data, all while scaling and innovating rapidly.&#x20;

## Prerequisites

* A valid [Microsoft Azure subscription](https://portal.azure.com/)
* An **Azure Resource Group**
* A **Storage Account** with the Blob service enabled.
* A **Container**. Create this in the the Azure Portal > Storage Account > **Containers > + Container**.

## Azure Blob Storage Setup&#x20;

Once you have your project to connect to, make sure your user or service account has the proper roles e.g. `roles/storage.admin`  Go to **Azure Portal > IAM > Add role assignment**.

## Onum setup

{% stepper %}
{% step %}
Log in to your Onum tenant and click **Data Sinks > New Data sink**.
{% endstep %}

{% step %}
Double-click the **Azure Blob Storage** Data Sink.
{% endstep %}

{% step %}
Enter a **Name** for the new Data Sink. Optionally, add a **Description** and some **Tags** to identify the Data Sink.
{% endstep %}

{% step %}
Decide whether or not to include this Data Sink info in the metrics and graphs of the [**Home**](/home.md) area.
{% endstep %}

{% step %}
Enter the **Storage account name** to connect to.

1. In the Azure Portal, search **Storage accounts** and click on it.
2. A list of your storage accounts will appear.&#x20;
3. See the name in the list or click on the **storage account** you need and the **Storage Account Name** is displayed at the top of the page.
   {% endstep %}

{% step %}
Add the **authentication** credentials.

Add the **Access Key** from your [Secrets](/settings/organization-settings/secrets-management.md) or create one. To find your access key:

* In the storage account menu, click **Access Keys** under the **Security + Networking** section.&#x20;
* You will see Key1 and Key2 and their connection strings.

Add the **Connection string** from your [Secrets](/settings/organization-settings/secrets-management.md) or create one. Locate it under **Security + Networking > Access Keys** within the **Storage Account**. To to help you find it, look for the string with this format:

`DefaultEndpointsProtocol=https;AccountName=...;AccountKey=...`
{% endstep %}

{% step %}
Click **New secret** to create a new one:

* Give the secret a **Name**.
* Turn off the **Expiration date** option.
* Click **Add new value** and paste the secret corresponding to the JWT token you generated before. Remember that the token will be added in the Zscaler configuration.
* Click **Save**.

{% hint style="info" %}
Learn more about secrets in Onum in [this article](/settings/organization-settings/secrets-management.md).
{% endhint %}
{% endstep %}

{% step %}
After entering the general Azure Storage settings, you must specify a blob container to send to.

Connect to the exact **Container name** in your storage unit.

1. Click your storage account (as previously shown) and go to **Data Storage > Containers**.
2. See the names of your existing containers.
   {% endstep %}

{% step %}
The **Azure Blob Storage Path Format** follows a standard URL structure that depends on the **storage account, container, and blob location**.&#x20;

1. In the left menu, click **Data Storage > Containers**.
2. Click the **container** where your blob is stored.
3. Click on the **blob (file)** you wish to connect to.

The **URL** represents the full path. Use it to find the prefix and decide how to partition.

* The path **Prefix** is found in the URL field.
* **Partition by** *year, month, day* or *hour.*
  {% endstep %}

{% step %}

#### Proxy configuration

If you use a proxy connection, set it here:

<table><thead><tr><th width="169.94140625">Parameters</th><th>Description</th></tr></thead><tbody><tr><td><strong>Proxy address</strong></td><td>Enter your proxy address.</td></tr><tr><td><strong>Proxy port</strong></td><td>Required proxy port.</td></tr><tr><td><strong>Proxy username</strong></td><td>Add your proxy username from your <a href="/pages/YAQlTald3E2cheY5V0Hk">Secrets</a> or create one.</td></tr><tr><td><strong>Proxy password</strong></td><td>Add your proxy password from your <a href="/pages/YAQlTald3E2cheY5V0Hk">Secrets</a> or create one.</td></tr><tr><td><strong>Proxy scheme</strong></td><td>Set the required proxy scheme (<strong>HTTP</strong> or <strong>HTTPS</strong>).</td></tr></tbody></table>
{% endstep %}

{% step %}
Click **Finish** when complete. Your new Data Sink will appear in the **Data sinks** area list.
{% endstep %}
{% endstepper %}

## Pipeline configuration

When it comes to using this Data sink in a [Pipeline](/pipelines.md), you must configure the following output parameters. To do it, simply click the Data sink on the canvas and select **Configuration**.

### Output configuration

<table><thead><tr><th width="169.6875">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><strong>Event field</strong></td><td>Select the incoming field containing the event to send on.</td></tr></tbody></table>

Click **Save** to save your configuration.
