Microsoft.DocumentDB databaseAccounts/sqlDatabases/containers/triggers

Bicep resource definition

The databaseAccounts/sqlDatabases/containers/triggers resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Usage Examples

Bicep Samples

A basic example of deploying SQL Trigger.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource databaseAccount 'Microsoft.DocumentDB/databaseAccounts@2021-10-15' = {
  name: resourceName
  location: location
  kind: 'GlobalDocumentDB'
  properties: {
    capabilities: []
    consistencyPolicy: {
      defaultConsistencyLevel: 'Session'
      maxIntervalInSeconds: 5
      maxStalenessPrefix: 100
    }
    databaseAccountOfferType: 'Standard'
    defaultIdentity: 'FirstPartyIdentity'
    disableKeyBasedMetadataWriteAccess: false
    disableLocalAuth: false
    enableAnalyticalStorage: false
    enableAutomaticFailover: false
    enableFreeTier: false
    enableMultipleWriteLocations: false
    ipRules: []
    isVirtualNetworkFilterEnabled: false
    locations: [
      {
        failoverPriority: 0
        isZoneRedundant: false
        locationName: 'West Europe'
      }
    ]
    networkAclBypass: 'None'
    networkAclBypassResourceIds: []
    publicNetworkAccess: 'Enabled'
    virtualNetworkRules: []
  }
}

resource sqlDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15' = {
  name: resourceName
  parent: databaseAccount
  properties: {
    options: {}
    resource: {
      id: resourceName
    }
  }
}

resource container 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-04-15' = {
  name: resourceName
  parent: sqlDatabase
  properties: {
    options: {}
    resource: {
      id: resourceName
      partitionKey: {
        kind: 'Hash'
        paths: [
          '/definition/id'
        ]
      }
    }
  }
}

resource trigger 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers@2021-10-15' = {
  name: resourceName
  parent: container
  properties: {
    options: {}
    resource: {
      body: 'function trigger(){}'
      id: resourceName
      triggerOperation: 'All'
      triggerType: 'Pre'
    }
  }
}

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Create Azure Cosmos DB Core (SQL) API stored procedures This template creates an Azure Cosmos DB account for Core (SQL) API and a container with a stored procedure, trigger and user defined function.

Resource format

To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers@2026-04-01-preview' = {
  parent: resourceSymbolicName
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: 'string'
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    resource: {
      body: 'string'
      id: 'string'
      triggerOperation: 'string'
      triggerType: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Property Values

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers

Name Description Value
identity Identity for the resource. ManagedServiceIdentity
location The location of the resource group to which the resource belongs. string
name The resource name string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: databaseAccounts/sqlDatabases/containers
properties The properties of an Azure Cosmos DB trigger SqlTriggerGetProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

ManagedServiceIdentity

Name Description Value
type The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Record

Record

Name Description Value

SqlTriggerGetProperties

Name Description Value
resource SqlTriggerGetPropertiesResource

SqlTriggerGetPropertiesResource

Name Description Value
body Body of the Trigger string
id Name of the Cosmos DB SQL trigger string (required)
triggerOperation The operation the trigger is associated with 'All'
'Create'
'Delete'
'Replace'
'Update'
triggerType Type of the Trigger 'Post'
'Pre'

ARM template resource definition

The databaseAccounts/sqlDatabases/containers/triggers resource type can be deployed with operations that target:

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Create Azure Cosmos DB Core (SQL) API stored procedures

Deploy to Azure
This template creates an Azure Cosmos DB account for Core (SQL) API and a container with a stored procedure, trigger and user defined function.

Resource format

To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers resource, add the following JSON to your template.

{
  "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers",
  "apiVersion": "2026-04-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": "string"
    }
  },
  "location": "string",
  "properties": {
    "resource": {
      "body": "string",
      "id": "string",
      "triggerOperation": "string",
      "triggerType": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property Values

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers

Name Description Value
apiVersion The api version '2026-04-01-preview'
identity Identity for the resource. ManagedServiceIdentity
location The location of the resource group to which the resource belongs. string
name The resource name string (required)
properties The properties of an Azure Cosmos DB trigger SqlTriggerGetProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers'

ManagedServiceIdentity

Name Description Value
type The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Record

Record

Name Description Value

SqlTriggerGetProperties

Name Description Value
resource SqlTriggerGetPropertiesResource

SqlTriggerGetPropertiesResource

Name Description Value
body Body of the Trigger string
id Name of the Cosmos DB SQL trigger string (required)
triggerOperation The operation the trigger is associated with 'All'
'Create'
'Delete'
'Replace'
'Update'
triggerType Type of the Trigger 'Post'
'Pre'

Terraform (AzAPI provider) resource definition

The databaseAccounts/sqlDatabases/containers/triggers resource type can be deployed with operations that target:

  • Resource groups For a list of changed properties in each API version, see change log.

Usage Examples

Terraform Samples

A basic example of deploying SQL Trigger.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "databaseAccount" {
  type      = "Microsoft.DocumentDB/databaseAccounts@2021-10-15"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "GlobalDocumentDB"
    properties = {
      capabilities = [
      ]
      consistencyPolicy = {
        defaultConsistencyLevel = "Session"
        maxIntervalInSeconds    = 5
        maxStalenessPrefix      = 100
      }
      databaseAccountOfferType           = "Standard"
      defaultIdentity                    = "FirstPartyIdentity"
      disableKeyBasedMetadataWriteAccess = false
      disableLocalAuth                   = false
      enableAnalyticalStorage            = false
      enableAutomaticFailover            = false
      enableFreeTier                     = false
      enableMultipleWriteLocations       = false
      ipRules = [
      ]
      isVirtualNetworkFilterEnabled = false
      locations = [
        {
          failoverPriority = 0
          isZoneRedundant  = false
          locationName     = "West Europe"
        },
      ]
      networkAclBypass = "None"
      networkAclBypassResourceIds = [
      ]
      publicNetworkAccess = "Enabled"
      virtualNetworkRules = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "sqlDatabase" {
  type      = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15"
  parent_id = azapi_resource.databaseAccount.id
  name      = var.resource_name
  body = {
    properties = {
      options = {
      }
      resource = {
        id = var.resource_name
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "container" {
  type      = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-04-15"
  parent_id = azapi_resource.sqlDatabase.id
  name      = var.resource_name
  body = {
    properties = {
      options = {
      }
      resource = {
        id = var.resource_name
        partitionKey = {
          kind = "Hash"
          paths = [
            "/definition/id",
          ]
        }
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "trigger" {
  type      = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers@2021-10-15"
  parent_id = azapi_resource.container.id
  name      = var.resource_name
  body = {
    properties = {
      options = {
      }
      resource = {
        body             = "function trigger(){}"
        id               = var.resource_name
        triggerOperation = "All"
        triggerType      = "Pre"
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Resource format

To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers@2026-04-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      resource = {
        body = "string"
        id = "string"
        triggerOperation = "string"
        triggerType = "string"
      }
    }
  }
}

Property Values

Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers

Name Description Value
identity Identity for the resource. ManagedServiceIdentity
location The location of the resource group to which the resource belongs. string
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: databaseAccounts/sqlDatabases/containers
properties The properties of an Azure Cosmos DB trigger SqlTriggerGetProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers@2026-04-01-preview"

ManagedServiceIdentity

Name Description Value
type The type of identity used for the resource. The type 'SystemAssigned,UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service. 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities The list of user identities associated with resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. Record

Record

Name Description Value

SqlTriggerGetProperties

Name Description Value
resource SqlTriggerGetPropertiesResource

SqlTriggerGetPropertiesResource

Name Description Value
body Body of the Trigger string
id Name of the Cosmos DB SQL trigger string (required)
triggerOperation The operation the trigger is associated with 'All'
'Create'
'Delete'
'Replace'
'Update'
triggerType Type of the Trigger 'Post'
'Pre'