Azure Blob Storage

Configuration for the Azure Blob Storage Binary Store component

The Azure Blob Storage Binary Store stores each file as a blob in the configured container. The component is alpha.

Component format

The following example authenticates with a connection string:

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: azure-files
spec:
  type: binarystore.azure.blobstorage
  version: v1
  metadata:
  - name: connectionString
    value: "<AZURE_STORAGE_CONNECTION_STRING>"
  - name: containerName
    value: "binary-files"

Authentication

The component supports three authentication methods:

  • Connection string: provide connectionString.
  • Account key: provide accountName and accountKey.
  • Microsoft Entra ID: provide accountName and configure credentials for the sidecar’s environment. Supported credential types include workload identity, managed identity, client secret, and certificate. See Authenticating to Azure.

Spec metadata fields

FieldRequiredDetailsExample
connectionStringY for connection-string authenticationAzure Blob Storage connection string."DefaultEndpointsProtocol=https;AccountName=mystorageaccount;AccountKey=<key>;EndpointSuffix=core.windows.net"
accountNameY for account-key and Entra ID authenticationStorage account name."mystorageaccount"
accountKeyY for account-key authenticationBase64-encoded primary or secondary storage account key."<base64-encoded-key>"
containerNameYName of the Blob Storage container to use."binary-files"
publicAccessLevelNAccess level for data in the container: none, blob, or container. Defaults to none."none"
prefixNPrefix prepended to each file name. If configured, it must not start with /."uploads"
partSizeNUpload block size, specified as a byte count or byte-size string. Defaults to 16Mi; must be between 1 byte and 4000 MiB. Block blobs are limited to 50,000 blocks; larger blocks increase the maximum upload size but use more memory per in-flight upload."64Mi"
endpointNCustom endpoint URL, for example an Azurite emulator or a custom storage domain."http://127.0.0.1:10000"
retryCountNMaximum number of HTTP retries for transient failures. Defaults to 3."5"
disableEntityManagementNDefaults to false. When true, the component does not try to create the container during initialization; pre-create it and grant the identity read/write access."true"

Size values can be provided as a string containing the number of bytes (for example, "16777216") or as a size with a unit such as "16Mi".

Keep publicAccessLevel set to its default unless public access is specifically required.