# azure_data_lake_gen2

> For the complete documentation index, see [llms.txt](https://docs.redpanda.com/llms.txt). Component-specific: [cloud-data-platform-full.txt](https://docs.redpanda.com/cloud-data-platform-full.txt)

---
title: azure_data_lake_gen2
latest-operator-version: v26.1.4
latest-console-tag: v3.7.3
latest-connect-version: 4.93.0
latest-redpanda-tag: v26.1.9
docname: connect/components/outputs/azure_data_lake_gen2
page-component-name: cloud-data-platform
page-version: master
page-component-version: master
page-component-title: Cloud
page-relative-src-path: connect/components/outputs/azure_data_lake_gen2.adoc
page-edit-url: https://github.com/redpanda-data/cloud-docs/edit/main/modules/develop/pages/connect/components/outputs/azure_data_lake_gen2.adoc
page-git-created-date: "2024-11-05"
page-git-modified-date: "2026-05-26"
---

<!-- Source: https://docs.redpanda.com/cloud-data-platform/develop/connect/components/outputs/azure_data_lake_gen2.md -->

**Available in:** Cloud, [Self-Managed](https://docs.redpanda.com/connect/components/outputs/azure_data_lake_gen2/%20%22View%20the%20Self-Managed%20version%20of%20this%20component%22)

Sends message parts as files to an [Azure Data Lake Gen2](https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction) file system. Each file is uploaded with the file name specified in the `path` field.

```yml
outputs:
  label: ""
  azure_data_lake_gen2:
    storage_account: ""
    storage_access_key: ""
    storage_connection_string: ""
    storage_sas_token: ""
    filesystem: "" # No default (required)
    path: ${!counter()}-${!timestamp_unix_nano()}.txt
    max_in_flight: 64
```

To specify a different [`path` value](#path) (file name) for each file, use [function interpolations](https://docs.redpanda.com/cloud-data-platform/develop/connect/configuration/interpolation/#bloblang-queries). Function interpolations are calculated for each message in a batch.

## [](#authentication-methods)Authentication methods

This output supports multiple authentication methods. You must configure at least one method from the following list:

-   `storage_connection_string`

-   `storage_account` and `storage_access_key`

-   `storage_account` and `storage_sas_token`

-   `storage_account` to access using [DefaultAzureCredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#DefaultAzureCredential)


If you configure multiple authentication methods, the `storage_connection_string` takes precedence.

## [](#performance)Performance

Sends multiple messages in flight in parallel for improved performance. You can tune the number of in flight messages (or message batches) with the field `max_in_flight`.

## [](#fields)Fields

### [](#filesystem)`filesystem`

The name of the data lake storage file system you want to upload messages to. This field supports [interpolation functions](https://docs.redpanda.com/cloud-data-platform/develop/connect/configuration/interpolation/#bloblang-queries).

**Type**: `string`

```yaml
# Examples:
filesystem: messages-${!timestamp("2006")}
```

### [](#max_in_flight)`max_in_flight`

The maximum number of messages to have in flight at a given time. Increase this number to improve throughput until performance plateaus.

**Type**: `int`

**Default**: `64`

### [](#path)`path`

The path (file name) of each message to upload to the data lake storage file system. This field supports [interpolation functions](https://docs.redpanda.com/cloud-data-platform/develop/connect/configuration/interpolation/#bloblang-queries).

**Type**: `string`

**Default**: `${!counter()}-${!timestamp_unix_nano()}.txt`

```yaml
# Examples:
path: ${!counter()}-${!timestamp_unix_nano()}.json

# ---

path: ${!meta("kafka_key")}.json

# ---

path: ${!json("doc.namespace")}/${!json("doc.id")}.json
```

### [](#storage_access_key)`storage_access_key`

The access key for the storage account. Use this field along with `storage_account` for authentication. This field is ignored when the `storage_connection_string` field is populated.

**Type**: `string`

**Default**: `""`

### [](#storage_account)`storage_account`

The storage account to access. This field is ignored when the `storage_connection_string` field is populated.

**Type**: `string`

**Default**: `""`

### [](#storage_connection_string)`storage_connection_string`

The connection string for the storage account. You must enter a value for this field if no other authentication method is specified.

> 📝 **NOTE**
>
> If the `storage_connection_string` field does not contain the `AccountName` parameter value, specify it in the `storage_account` field.

**Type**: `string`

**Default**: `""`

### [](#storage_sas_token)`storage_sas_token`

The SAS token for the storage account. Use this field along with `storage_account` for authentication. This field is ignored when either the `storage_connection_string` or `storage_access_key` fields are populated.

**Type**: `string`

**Default**: `""`