azure_blob_storage
Sends message parts as objects to an Azure Blob Storage Account container. Each object is uploaded with the filename specified with the container field.
Introduced in version 3.36.0.
In order to have a different path for each object you should use function interpolations described here, which are calculated per message of a batch.
Supports multiple authentication methods but only one of the following is required:
-
storage_connection_string -
storage_accountandstorage_access_key -
storage_accountandstorage_sas_token -
storage_accountto access via DefaultAzureCredential
If multiple are set then the storage_connection_string is given priority.
If the storage_connection_string does not contain the AccountName parameter, please specify it in the
storage_account field.
Performance
This output benefits from sending multiple messages in flight in parallel for improved performance. You can tune the max number of in flight messages (or message batches) with the field max_in_flight.
-
Common
-
Advanced
output:
label: ""
azure_blob_storage:
storage_account: ""
storage_access_key: ""
storage_connection_string: ""
storage_sas_token: ""
container: "" # No default (required)
path: ${!counter()}-${!timestamp_unix_nano()}.txt
max_in_flight: 64
output:
label: ""
azure_blob_storage:
storage_account: ""
storage_access_key: ""
storage_connection_string: ""
storage_sas_token: ""
container: "" # No default (required)
path: ${!counter()}-${!timestamp_unix_nano()}.txt
blob_type: BLOCK
public_access_level: PRIVATE
max_in_flight: 64
Fields
blob_type
Block and Append blobs are made up of blocks, and each blob can support up to 50,000 blocks. The default value is BLOCK.
This field supports interpolation functions.
Type: string
Default: BLOCK
Options: BLOCK, APPEND
container
The container for uploading the messages to.
This field supports interpolation functions.
Type: string
# Examples:
container: messages-${!timestamp("2006")}
max_in_flight
The maximum number of messages to have in flight at a given time. For outputs that send messages in batches, this limit applies to message batches. Increase this value to improve throughput.
Type: int
Default: 64
path
The path of each message to upload.
This field supports interpolation functions.
Type: string
Default: ${!counter()}-${!timestamp_unix_nano()}.txt
# Examples:
path: ${!counter()}-${!timestamp_unix_nano()}.json
# ---
path: ${!meta("kafka_key")}.json
# ---
path: ${!json("doc.namespace")}/${!json("doc.id")}.json
public_access_level
The container’s public access level. The default value is PRIVATE.
This field supports interpolation functions.
Type: string
Default: PRIVATE
Options: PRIVATE, BLOB, CONTAINER
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
The storage account to access. This field is ignored when the storage_connection_string field is populated, unless the connection string does not contain the AccountName parameter.
Type: string
Default: ""