Skip to main content

Azure Cosmos DB (SQL API)

Type: bindings.azure.cosmosdb

Status: stable

Reference: https://docs.dapr.io/reference/components-reference/supported-bindings/cosmosdb/

Example​

apiVersion: cra.diagrid.io/v1beta1
kind: Component
metadata:
name: <name>
spec:
type: bindings.azure.cosmosdb
version: v1
metadata:
# The key to authenticate to the Cosmos DB account.
- name: masterKey
value: "my-secret-key"
# The name of the collection (container).
- name: collection
value: "Orders"
# The name of the database.
- name: database
value: "OrdersDB"
# The name of the key to extract from the payload (document to be created) that is used as the partition key. This name must match the partition key specified upon creation of the Cosmos DB container.
- name: partitionKey
value: "OrderId"
# The Cosmos DB url.
- name: url
value: "https://******.documents.azure.com:443/"

Binding information​

Input Binding: no

Output Binding: yes

Output Binding operations:​

  • create: Create an item

Authentication profiles​

Available authentication profiles:

  • Master key

  • Azure AD: Client credentials

  • Azure AD: Client certificate

Master key​

Authenticate using a pre-shared "master key".

masterKey​

Required - The key to authenticate to the Cosmos DB account.

Example value: my-secret-key

Azure AD: Client credentials​

Authenticate using Azure AD with client credentials, also known as "service principals".

azureClientId​

Required - Client ID (application ID)

Example value: c7dd251f-811f-4ba2-a905-acd4d3f8f08b

azureClientSecret​

Required - Client secret (application password)

Example value: Ecy3XG7zVZK3/vl/a2NSB+a1zXLa8RnMum/IgD0E

azureTenantId​

Required - ID of the Azure AD tenant

Example value: cd4b2887-304c-47e1-b4d5-65447fdd542a

azureEnvironment​

Optional name for the Azure environment if using a different Azure cloud

Default value: AzurePublicCloud

Example value: AzurePublicCloud

Allowed values:

  • AzurePublicCloud

  • AzureChinaCloud

  • AzureUSGovernmentCloud

Azure AD: Client certificate​

Authenticate using Azure AD with a client certificate. "azureCertificate" is required.

azureClientId​

Required - Client ID (application ID)

Example value: c7dd251f-811f-4ba2-a905-acd4d3f8f08b

azureTenantId​

Required - ID of the Azure AD tenant

Example value: cd4b2887-304c-47e1-b4d5-65447fdd542a

azureCertificate​

Certificate and private key (in either a PEM file containing both the certificate and key, or in PFX/PKCS#12 format)

Example value:

-----BEGIN PRIVATE KEY-----\n MIIEvgI... \n -----END PRIVATE KEY-----
\n -----BEGIN CERTIFICATE----- \n MIICoTC... \n -----END CERTIFICATE----- \n

azureCertificatePassword​

Password for the certificate if encrypted.

Example value: password

azureEnvironment​

Optional name for the Azure environment if using a different Azure cloud

Default value: AzurePublicCloud

Example value: AzurePublicCloud

Allowed values:

  • AzurePublicCloud

  • AzureChinaCloud

  • AzureUSGovernmentCloud

Metadata​

collection (string)​

Required - The name of the collection (container).

Example value: Orders

database (string)​

Required - The name of the database.

Example value: OrdersDB

partitionKey (string)​

Required - The name of the key to extract from the payload (document to be created) that is used as the partition key. This name must match the partition key specified upon creation of the Cosmos DB container.

Example value: OrderId

url (string)​

Required - The Cosmos DB url.

Example value: https://******.documents.azure.com:443/