> ## Documentation Index
> Fetch the complete documentation index at: https://docs.honeycomb.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Blob Storage

<Badge className="hny-badge-enterprise-addon" stroke>Ent+</Badge>

<Note>
  This feature is available as an add-on for the [Honeycomb Enterprise plan](https://www.honeycomb.io/pricing/).
  Please contact your Honeycomb account team for details.
</Note>

## Supported Types

| Metrics | Logs | Traces |
| :------ | :--- | :----- |
| ✓       | ✓    | ✓      |

​The Azure Blob Storage destination saves telemetry as [OTLP JSON](https://github.com/open-telemetry/opentelemetry-proto#otlpjson) files in Azure Blob Storage.

## Configuration

| Parameter            | Type                | Default               | Description                                                                                                                                                                            |
| :------------------- | :------------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| telemetry\_types\*   | `telemetrySelector` | Logs, Metrics, Traces | Specifies which types of telemetry to export.                                                                                                                                          |
| connection\_string\* | `string`            | ""                    | The connection string for the Azure Storage account. More information can be found [here](https://learn.microsoft.com/en-gb/azure/storage/common/storage-configure-connection-string). |
| container\*          | `string`            | ""                    | Name of the Azure Storage container to export telemetry into.                                                                                                                          |
| prefix               | `string`            | ""                    | The root directory of the blob path to export telemetry into.                                                                                                                          |
| blob\_prefix         | `string`            | ""                    | Prefix for the name of the exported telemetry files.                                                                                                                                   |
| partition\*          | `enum`              | minute                | The granularity of the timestamps in the blob path, either "minute" or "hour".                                                                                                         |
| compression          | `enum`              | `gzip`                | The compression algorithm to use when exporting telemetry, either "none" or "gzip"                                                                                                     |

<span style={{color: 'red'}}>\* *required field*</span>

## Supported Retry and Queuing Settings

This destination supports the following retry and queuing settings:

| Sending Queue | Persistent Queue | Retry on Failure |
| :------------ | :--------------- | :--------------- |
| ✓             | ✓                | ✓                |

## Example Configuration

### Basic Configuration

For basic configuration, we specify the `connection_string` as well as a `container`, `prefix`, and `blob_prefix`. By default, we are still using a `partition` of `minute` and `gzip` for the `compression` value. This will create a blob path that looks like the following inside the `otel` container:

```text theme={}
telemetry/year=2021/month=01/day=01/hour=01/minute=00/bindplanemetrics_{random_id}.json.gz
telemetry/year=2021/month=01/day=01/hour=01/minute=00/bindplanelogs_{random_id}.json.gz
telemetry/year=2021/month=01/day=01/hour=01/minute=00/bindplanetraces_{random_id}.json.gz
```

#### Web Interface

<img src="https://mintcdn.com/honeycomb/xBk0WdKAt1ctZm35/_assets/images/htp/xnapper-azure-blob-dest-1.png?fit=max&auto=format&n=xBk0WdKAt1ctZm35&q=85&s=42e0f8462f991188f3e6e5b80a4b01d1" alt="Honeycomb Docs - Azure Blob Storage - image 1" width="2164" height="1990" data-path="_assets/images/htp/xnapper-azure-blob-dest-1.png" />

#### Standalone Destination

```yaml theme={}
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
  id: azure_blob
  name: azure_blob
spec:
  type: azure_blob
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Metrics', 'Traces']
    - name: connection_string
      value: 'DefaultEndpointsProtocol=https;AccountName=accountName;AccountKey=+idLkHYcL0MUWIKYHm2j4Q==;EndpointSuffix=core.windows.net'
    - name: container
      value: 'otel'
    - name: prefix
      value: 'telemetry'
    - name: blob_prefix
      value: bindplane
```

### Specify Partition and Default Configuration

This configuration is the same as the basic configuration but will specify a `partition` of `hour` and `compression` set to `none`. This will create a blob path that looks like the following inside the `otel` container:

```text theme={}
telemetry/year=2021/month=01/day=01/hour=01/bindplanemetrics_{random_id}.json
telemetry/year=2021/month=01/day=01/hour=01/bindplanelogs_{random_id}.json
telemetry/year=2021/month=01/day=01/hour=01/bindplanetraces_{random_id}.json
```

#### Web Interface

<img src="https://mintcdn.com/honeycomb/xBk0WdKAt1ctZm35/_assets/images/htp/xnapper-azure-blob-dest-2.png?fit=max&auto=format&n=xBk0WdKAt1ctZm35&q=85&s=3fa70d849973418d32621ccaff85992a" alt="Honeycomb Docs - Azure Blob Storage - image 2" width="2166" height="1990" data-path="_assets/images/htp/xnapper-azure-blob-dest-2.png" />

#### Standalone Destination

```yaml theme={}
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
  id: azure_blob
  name: azure_blob
spec:
  type: azure_blob
  parameters:
    - name: telemetry_types
      value: ['Logs', 'Metrics', 'Traces']
    - name: connection_string
      value: 'DefaultEndpointsProtocol=https;AccountName=accountName;AccountKey=+idLkHYcL0MUWIKYHm2j4Q==;EndpointSuffix=core.windows.net'
    - name: container
      value: 'otel'
    - name: prefix
      value: 'telemetry'
    - name: blob_prefix
      value: bindplane
    - name: partition
      value: 'hour'
    - name: compression
      value: 'none'
```
