Azure Blob Storage
Amazon S3 (and S3-compatible), Google Cloud Storage and Azure Blob Storage: the azure_blob destination, from the object_store package. Declare the package once in dependencies.yml; DRE installs it on demand:
plugins: - object_storeProfile fields
Section titled “Profile fields”Set in profiles.yml, under destinations:, in a target with type: azure_blob.
| Field | Default | Notes |
|---|---|---|
account_name |
Storage account name. | |
container |
Default container (or use az://container/… paths) | |
connection_string |
Connection string (or set sas_token / access_key) Secret: use env_var(). |
|
sas_token |
A SAS token. Secret: use env_var(). |
|
access_key |
The account’s access key. Secret: use env_var(). |
|
use_managed_identity |
Sign in as the machine’s managed identity. | |
use_azure_cli |
Sign in with the az login session. |
|
endpoint |
An emulator’s URL. | |
connect_timeout |
30s |
How long to wait for a connection (30s, 2m, or seconds) A duration (30s, 2m) or seconds. |
timeout |
60s |
How long a read or write may make no progress before it fails. A duration (30s, 2m) or seconds. |
retries |
3 |
How many times to try again after a temporary error (0: never) |
Options
Section titled “Options”Set in the report’s output.destination entry.
| Option | Type | Default | Notes |
|---|---|---|---|
if_exists |
string | overwrite |
When a file is already at the path: overwrite it, fail with error, or number the new one. One of overwrite, error, number. |
account_name, container, and one of connection_string, sas_token, access_key,
use_managed_identity (true), or use_azure_cli (true: the az login session). endpoint is for emulators. Paths are az://container/key.
Takes if_exists (see A file already at the path).
Archive a workbook with an Azure identity
Section titled “Archive a workbook with an Azure identity”Use Azure Blob for report files alongside Azure data. For local work after az login, add:
destinations: archive: targets: dev: {deliver: false} prod: type: azure_blob account_name: financereports container: monthly use_azure_cli: true# within the monthly finance report's outputdestination: profile: archive path: "az://monthly/{{ run.date.yyyymm }}.xlsx" if_exists: errorAdapt the complete monthly finance example and preview before
delivery. On an Azure runner, use use_managed_identity: true instead of a local CLI session.
Choose one authentication method; do not combine it with account keys or a connection string.
azure_blob/file-exists means a previous delivery owns the path; delivery-failed with denied
access needs storage permissions for the chosen identity. The account and container must already exist.
See destination keys,
delivery behavior and destination.