Azure Query

Azure Query

Certified

Run one Cosmos query

Executes a Cosmos SQL query with optional partition scope or feed range and returns the matching documents.

yaml
type: io.kestra.plugin.azure.storage.cosmosdb.Query
yaml
id: azure_storage_cosmos_query
namespace: company.team

tasks:
  - id: bulk
    type: io.kestra.plugin.azure.storage.cosmosdb.Query
    endpoint: "https://yourcosmosaccount.documents.azure.com"
    databaseId: your_data_base_id
    containerId: your_container_id
    tenantId: "{{ secret('AZURE_TENANT_ID') }}"
    clientId: "{{ secret('AZURE_CLIENT_ID') }}"
    clientSecret: "{{ secret('AZURE_CLIENT_SECRET') }}"
    query: "SELECT * FROM c WHERE c.region = 'europe'"
    partitionKeyDefinition:
      paths: ["/region"]
      kind: HASH
      version: V2
    partitionKey:
      region: europe
Properties

Container ID

Container (collection) name within the database; must already exist.

Database ID

Target database name inside the account; required.

SQL query string

Azure AD tenant ID (GUID)

Client ID of the Azure AD application

Application (client) ID used for service principal authentication.

Client secret for the Azure AD application

Secret value associated with the client ID; store in a Kestra secret.

Cosmos connection string

Full connection string from Azure portal; overrides endpoint and Azure AD credentials when set.

DefaultSession
Possible Values
STRONGBOUNDED_STALENESSSESSIONEVENTUALCONSISTENT_PREFIX

Choose request consistency

Consistency level sent to Cosmos; defaults to SESSION.

Defaulttrue

Return payload on writes

When true (default), write responses include the document body; set false to reduce payload size.

Cosmos account endpoint

Base account URL (e.g. https://.documents.azure.com). Required when connectionString is absent.

SubTypestring

Regions to exclude

Regions to avoid for this query (e.g. "East US"). If all preferred regions are excluded, Cosmos falls back to the account primary region.

Feed range partition key values

Map of partition key path to value used to build a feed range (e.g. { "country": "US" }); requires partitionKeyDefinition and is mutually exclusive with partitionKey.

Partition key values

Map of partition key path to value (e.g. { "country": "US" } for a /country key); requires partitionKeyDefinition.

Partition key definition (paths, kind, version)

Partition key schema (paths, kind, version); required with partitionKey or feedRangePartitionKey to build the correct PartitionKey.

Definitions
kind*Requiredstring
Possible Values
HASHRANGEMULTI_HASH

Partitioning algorithm

Partition strategy, typically HASH, matching the container configuration.

paths*Requiredarray
SubTypestring

Partition key paths

Ordered item property paths (e.g. [/pk]); each must start with '/'.

version*Requiredstring
Possible Values
V1V2

Partition key definition version

Version used when the container was created; choose the same value.

PEM-encoded certificate content for client authentication

PEM text for certificate-based auth; alternative to clientSecret.

Reference (ref) of the pluginDefaults to apply to this task.

SubTypeobject

Query results

The total number of entities processed in the bulk operation.