Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
- Latest
- 2025-05-01-preview
- 2025-04-15
- 2024-12-01-preview
- 2024-11-15
- 2024-09-01-preview
- 2024-08-15
- 2024-05-15
- 2024-05-15-preview
- 2024-02-15-preview
- 2023-11-15
- 2023-11-15-preview
- 2023-09-15
- 2023-09-15-preview
- 2023-04-15
- 2023-03-15
- 2023-03-15-preview
- 2023-03-01-preview
- 2022-11-15
- 2022-11-15-preview
- 2022-08-15
- 2022-08-15-preview
- 2022-05-15
- 2022-05-15-preview
- 2022-02-15-preview
- 2021-11-15-preview
- 2021-10-15
- 2021-10-15-preview
- 2021-07-01-preview
- 2021-06-15
- 2021-05-15
- 2021-04-15
- 2021-04-01-preview
- 2021-03-15
- 2021-03-01-preview
- 2021-01-15
- 2020-09-01
- 2020-06-01-preview
- 2020-04-01
- 2020-03-01
- 2019-12-12
- 2019-08-01
Bicep resource definition
The databaseAccounts/sqlDatabases/containers resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-04-15' = {
parent: resourceSymbolicName
location: 'string'
name: 'string'
properties: {
options: {
autoscaleSettings: {
maxThroughput: int
}
throughput: int
}
resource: {
analyticalStorageTtl: int
clientEncryptionPolicy: {
includedPaths: [
{
clientEncryptionKeyId: 'string'
encryptionAlgorithm: 'string'
encryptionType: 'string'
path: 'string'
}
]
policyFormatVersion: int
}
conflictResolutionPolicy: {
conflictResolutionPath: 'string'
conflictResolutionProcedure: 'string'
mode: 'string'
}
defaultTtl: int
id: 'string'
indexingPolicy: {
automatic: bool
compositeIndexes: [
[
{
order: 'string'
path: 'string'
}
]
]
excludedPaths: [
{
path: 'string'
}
]
includedPaths: [
{
indexes: [
{
dataType: 'string'
kind: 'string'
precision: int
}
]
path: 'string'
}
]
indexingMode: 'string'
spatialIndexes: [
{
path: 'string'
types: [
'string'
]
}
]
}
partitionKey: {
kind: 'string'
paths: [
'string'
]
version: int
}
uniqueKeyPolicy: {
uniqueKeys: [
{
paths: [
'string'
]
}
]
}
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
| Name | Description | Value |
|---|---|---|
| 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 |
| properties | Properties to create and update Azure Cosmos DB container. | SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties (required) |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
ClientEncryptionIncludedPath
| Name | Description | Value |
|---|---|---|
| clientEncryptionKeyId | The identifier of the Client Encryption Key to be used to encrypt the path. | string (required) |
| encryptionAlgorithm | The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256. | string (required) |
| encryptionType | The type of encryption to be performed. Eg - Deterministic, Randomized. | string (required) |
| path | Path that needs to be encrypted. | string (required) |
ClientEncryptionPolicy
| Name | Description | Value |
|---|---|---|
| includedPaths | Paths of the item that need encryption along with path-specific settings. | ClientEncryptionIncludedPath[] (required) |
| policyFormatVersion | Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. | int Constraints: Min value = 1 Max value = 2 (required) |
CompositePath
| Name | Description | Value |
|---|---|---|
| order | Sort order for composite paths. | 'ascending' 'descending' |
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
ConflictResolutionPolicy
| Name | Description | Value |
|---|---|---|
| conflictResolutionPath | The conflict resolution path in the case of LastWriterWins mode. | string |
| conflictResolutionProcedure | The procedure to resolve conflicts in the case of custom mode. | string |
| mode | Indicates the conflict resolution mode. | 'Custom' 'LastWriterWins' |
ContainerPartitionKey
| Name | Description | Value |
|---|---|---|
| kind | Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create | 'Hash' 'MultiHash' 'Range' |
| paths | List of paths using which data within the container can be partitioned | string[] |
| version | Indicates the version of the partition key definition | int Constraints: Min value = 1 Max value = 2 |
CreateUpdateOptionsOrSqlContainerGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Request Units per second. For example, "throughput": 10000. | int |
ExcludedPath
| Name | Description | Value |
|---|---|---|
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
IncludedPath
| Name | Description | Value |
|---|---|---|
| indexes | List of indexes for this path | Indexes[] |
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
Indexes
| Name | Description | Value |
|---|---|---|
| dataType | The datatype for which the indexing behavior is applied to. | 'LineString' 'MultiPolygon' 'Number' 'Point' 'Polygon' 'String' |
| kind | Indicates the type of index. | 'Hash' 'Range' 'Spatial' |
| precision | The precision of the index. -1 is maximum precision. | int |
IndexingPolicy
| Name | Description | Value |
|---|---|---|
| automatic | Indicates if the indexing policy is automatic | bool |
| compositeIndexes | List of composite path list | CompositePath[][] |
| excludedPaths | List of paths to exclude from indexing | ExcludedPath[] |
| includedPaths | List of paths to include in the indexing | IncludedPath[] |
| indexingMode | Indicates the indexing mode. | 'consistent' 'lazy' 'none' |
| spatialIndexes | List of spatial specifics | SpatialSpec[] |
SpatialSpec
| Name | Description | Value |
|---|---|---|
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
| types | List of path's spatial type | String array containing any of: 'LineString' 'MultiPolygon' 'Point' 'Polygon' |
SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties
| Name | Description | Value |
|---|---|---|
| options | A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. | CreateUpdateOptionsOrSqlContainerGetPropertiesOptions |
| resource | The standard JSON format of a container | SqlContainerResourceOrSqlContainerGetPropertiesResource (required) |
SqlContainerResourceOrSqlContainerGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| analyticalStorageTtl | Analytical TTL. | int |
| clientEncryptionPolicy | The client encryption policy for the container. | ClientEncryptionPolicy |
| conflictResolutionPolicy | The conflict resolution policy for the container. | ConflictResolutionPolicy |
| defaultTtl | Default time to live | int |
| id | Name of the Cosmos DB SQL container | string (required) |
| indexingPolicy | The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container | IndexingPolicy |
| partitionKey | The configuration of the partition key to be used for partitioning data into multiple partitions | ContainerPartitionKey |
| uniqueKeyPolicy | The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. | UniqueKeyPolicy |
Tags
| Name | Description | Value |
|---|
UniqueKey
| Name | Description | Value |
|---|---|---|
| paths | List of paths must be unique for each document in the Azure Cosmos DB service | string[] |
UniqueKeyPolicy
| Name | Description | Value |
|---|---|---|
| uniqueKeys | List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. | UniqueKey[] |
Usage Examples
Azure Quickstart Samples
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
| Bicep File | Description |
|---|---|
| Azure Cosmos DB account SQL API with analytical store | This template creates an Azure Cosmos account for Core (SQL) API with a database and container configured with analytical store. |
| Create a free-tier Azure Cosmos DB account | This template creates a free-tier Azure Cosmos DB account for SQL API with a database with shared throughput and container. |
| Create an Azure Cosmos DB account for Core (SQL) API | This template creates an Azure Cosmos account for Core (SQL) API with a database and container with throughput with multiple other options. |
| Create an Azure Cosmos DB account SQL API with autoscale | This template creates an Azure Cosmos account for Core (SQL) API with a database and container with autoscale throughput with multiple other options. |
| 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. |
| Creates a Dapr microservices app using Container Apps | Create a Dapr microservices app using Container Apps. |
| Creates a Dapr pub-sub servicebus app using Container Apps | Create a Dapr pub-sub servicebus app using Container Apps. |
| Deploy Azure Data Explorer DB with Cosmos DB connection | Deploy Azure Data Explorer DB with Cosmos DB connection. |
ARM template resource definition
The databaseAccounts/sqlDatabases/containers resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers resource, add the following JSON to your template.
{
"type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers",
"apiVersion": "2023-04-15",
"name": "string",
"location": "string",
"properties": {
"options": {
"autoscaleSettings": {
"maxThroughput": "int"
},
"throughput": "int"
},
"resource": {
"analyticalStorageTtl": "int",
"clientEncryptionPolicy": {
"includedPaths": [
{
"clientEncryptionKeyId": "string",
"encryptionAlgorithm": "string",
"encryptionType": "string",
"path": "string"
}
],
"policyFormatVersion": "int"
},
"conflictResolutionPolicy": {
"conflictResolutionPath": "string",
"conflictResolutionProcedure": "string",
"mode": "string"
},
"defaultTtl": "int",
"id": "string",
"indexingPolicy": {
"automatic": "bool",
"compositeIndexes": [
[
{
"order": "string",
"path": "string"
}
]
],
"excludedPaths": [
{
"path": "string"
}
],
"includedPaths": [
{
"indexes": [
{
"dataType": "string",
"kind": "string",
"precision": "int"
}
],
"path": "string"
}
],
"indexingMode": "string",
"spatialIndexes": [
{
"path": "string",
"types": [ "string" ]
}
]
},
"partitionKey": {
"kind": "string",
"paths": [ "string" ],
"version": "int"
},
"uniqueKeyPolicy": {
"uniqueKeys": [
{
"paths": [ "string" ]
}
]
}
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2023-04-15' |
| location | The location of the resource group to which the resource belongs. | string |
| name | The resource name | string (required) |
| properties | Properties to create and update Azure Cosmos DB container. | SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties (required) |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
| type | The resource type | 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers' |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
ClientEncryptionIncludedPath
| Name | Description | Value |
|---|---|---|
| clientEncryptionKeyId | The identifier of the Client Encryption Key to be used to encrypt the path. | string (required) |
| encryptionAlgorithm | The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256. | string (required) |
| encryptionType | The type of encryption to be performed. Eg - Deterministic, Randomized. | string (required) |
| path | Path that needs to be encrypted. | string (required) |
ClientEncryptionPolicy
| Name | Description | Value |
|---|---|---|
| includedPaths | Paths of the item that need encryption along with path-specific settings. | ClientEncryptionIncludedPath[] (required) |
| policyFormatVersion | Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. | int Constraints: Min value = 1 Max value = 2 (required) |
CompositePath
| Name | Description | Value |
|---|---|---|
| order | Sort order for composite paths. | 'ascending' 'descending' |
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
ConflictResolutionPolicy
| Name | Description | Value |
|---|---|---|
| conflictResolutionPath | The conflict resolution path in the case of LastWriterWins mode. | string |
| conflictResolutionProcedure | The procedure to resolve conflicts in the case of custom mode. | string |
| mode | Indicates the conflict resolution mode. | 'Custom' 'LastWriterWins' |
ContainerPartitionKey
| Name | Description | Value |
|---|---|---|
| kind | Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create | 'Hash' 'MultiHash' 'Range' |
| paths | List of paths using which data within the container can be partitioned | string[] |
| version | Indicates the version of the partition key definition | int Constraints: Min value = 1 Max value = 2 |
CreateUpdateOptionsOrSqlContainerGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Request Units per second. For example, "throughput": 10000. | int |
ExcludedPath
| Name | Description | Value |
|---|---|---|
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
IncludedPath
| Name | Description | Value |
|---|---|---|
| indexes | List of indexes for this path | Indexes[] |
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
Indexes
| Name | Description | Value |
|---|---|---|
| dataType | The datatype for which the indexing behavior is applied to. | 'LineString' 'MultiPolygon' 'Number' 'Point' 'Polygon' 'String' |
| kind | Indicates the type of index. | 'Hash' 'Range' 'Spatial' |
| precision | The precision of the index. -1 is maximum precision. | int |
IndexingPolicy
| Name | Description | Value |
|---|---|---|
| automatic | Indicates if the indexing policy is automatic | bool |
| compositeIndexes | List of composite path list | CompositePath[][] |
| excludedPaths | List of paths to exclude from indexing | ExcludedPath[] |
| includedPaths | List of paths to include in the indexing | IncludedPath[] |
| indexingMode | Indicates the indexing mode. | 'consistent' 'lazy' 'none' |
| spatialIndexes | List of spatial specifics | SpatialSpec[] |
SpatialSpec
| Name | Description | Value |
|---|---|---|
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
| types | List of path's spatial type | String array containing any of: 'LineString' 'MultiPolygon' 'Point' 'Polygon' |
SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties
| Name | Description | Value |
|---|---|---|
| options | A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. | CreateUpdateOptionsOrSqlContainerGetPropertiesOptions |
| resource | The standard JSON format of a container | SqlContainerResourceOrSqlContainerGetPropertiesResource (required) |
SqlContainerResourceOrSqlContainerGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| analyticalStorageTtl | Analytical TTL. | int |
| clientEncryptionPolicy | The client encryption policy for the container. | ClientEncryptionPolicy |
| conflictResolutionPolicy | The conflict resolution policy for the container. | ConflictResolutionPolicy |
| defaultTtl | Default time to live | int |
| id | Name of the Cosmos DB SQL container | string (required) |
| indexingPolicy | The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container | IndexingPolicy |
| partitionKey | The configuration of the partition key to be used for partitioning data into multiple partitions | ContainerPartitionKey |
| uniqueKeyPolicy | The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. | UniqueKeyPolicy |
Tags
| Name | Description | Value |
|---|
UniqueKey
| Name | Description | Value |
|---|---|---|
| paths | List of paths must be unique for each document in the Azure Cosmos DB service | string[] |
UniqueKeyPolicy
| Name | Description | Value |
|---|---|---|
| uniqueKeys | List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. | UniqueKey[] |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
| Template | Description |
|---|---|
| Azure Cosmos DB account SQL API with analytical store |
This template creates an Azure Cosmos account for Core (SQL) API with a database and container configured with analytical store. |
| Create a free-tier Azure Cosmos DB account |
This template creates a free-tier Azure Cosmos DB account for SQL API with a database with shared throughput and container. |
| Create an Azure Cosmos DB account for Core (SQL) API |
This template creates an Azure Cosmos account for Core (SQL) API with a database and container with throughput with multiple other options. |
| Create an Azure Cosmos DB account SQL API with autoscale |
This template creates an Azure Cosmos account for Core (SQL) API with a database and container with autoscale throughput with multiple other options. |
| 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. |
| Creates a Dapr microservices app using Container Apps |
Create a Dapr microservices app using Container Apps. |
| Creates a Dapr pub-sub servicebus app using Container Apps |
Create a Dapr pub-sub servicebus app using Container Apps. |
| Deploy Azure Data Explorer DB with Cosmos DB connection |
Deploy Azure Data Explorer DB with Cosmos DB connection. |
Terraform (AzAPI provider) resource definition
The databaseAccounts/sqlDatabases/containers resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-04-15"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
options = {
autoscaleSettings = {
maxThroughput = int
}
throughput = int
}
resource = {
analyticalStorageTtl = int
clientEncryptionPolicy = {
includedPaths = [
{
clientEncryptionKeyId = "string"
encryptionAlgorithm = "string"
encryptionType = "string"
path = "string"
}
]
policyFormatVersion = int
}
conflictResolutionPolicy = {
conflictResolutionPath = "string"
conflictResolutionProcedure = "string"
mode = "string"
}
defaultTtl = int
id = "string"
indexingPolicy = {
automatic = bool
compositeIndexes = [
[
{
order = "string"
path = "string"
}
]
]
excludedPaths = [
{
path = "string"
}
]
includedPaths = [
{
indexes = [
{
dataType = "string"
kind = "string"
precision = int
}
]
path = "string"
}
]
indexingMode = "string"
spatialIndexes = [
{
path = "string"
types = [
"string"
]
}
]
}
partitionKey = {
kind = "string"
paths = [
"string"
]
version = int
}
uniqueKeyPolicy = {
uniqueKeys = [
{
paths = [
"string"
]
}
]
}
}
}
}
}
Property Values
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
| Name | Description | Value |
|---|---|---|
| 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 |
| properties | Properties to create and update Azure Cosmos DB container. | SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties (required) |
| tags | Resource tags | Dictionary of tag names and values. |
| type | The resource type | "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-04-15" |
AutoscaleSettings
| Name | Description | Value |
|---|---|---|
| maxThroughput | Represents maximum throughput, the resource can scale up to. | int |
ClientEncryptionIncludedPath
| Name | Description | Value |
|---|---|---|
| clientEncryptionKeyId | The identifier of the Client Encryption Key to be used to encrypt the path. | string (required) |
| encryptionAlgorithm | The encryption algorithm which will be used. Eg - AEAD_AES_256_CBC_HMAC_SHA256. | string (required) |
| encryptionType | The type of encryption to be performed. Eg - Deterministic, Randomized. | string (required) |
| path | Path that needs to be encrypted. | string (required) |
ClientEncryptionPolicy
| Name | Description | Value |
|---|---|---|
| includedPaths | Paths of the item that need encryption along with path-specific settings. | ClientEncryptionIncludedPath[] (required) |
| policyFormatVersion | Version of the client encryption policy definition. Supported versions are 1 and 2. Version 2 supports id and partition key path encryption. | int Constraints: Min value = 1 Max value = 2 (required) |
CompositePath
| Name | Description | Value |
|---|---|---|
| order | Sort order for composite paths. | 'ascending' 'descending' |
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
ConflictResolutionPolicy
| Name | Description | Value |
|---|---|---|
| conflictResolutionPath | The conflict resolution path in the case of LastWriterWins mode. | string |
| conflictResolutionProcedure | The procedure to resolve conflicts in the case of custom mode. | string |
| mode | Indicates the conflict resolution mode. | 'Custom' 'LastWriterWins' |
ContainerPartitionKey
| Name | Description | Value |
|---|---|---|
| kind | Indicates the kind of algorithm used for partitioning. For MultiHash, multiple partition keys (upto three maximum) are supported for container create | 'Hash' 'MultiHash' 'Range' |
| paths | List of paths using which data within the container can be partitioned | string[] |
| version | Indicates the version of the partition key definition | int Constraints: Min value = 1 Max value = 2 |
CreateUpdateOptionsOrSqlContainerGetPropertiesOptions
| Name | Description | Value |
|---|---|---|
| autoscaleSettings | Specifies the Autoscale settings. | AutoscaleSettings |
| throughput | Request Units per second. For example, "throughput": 10000. | int |
ExcludedPath
| Name | Description | Value |
|---|---|---|
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
IncludedPath
| Name | Description | Value |
|---|---|---|
| indexes | List of indexes for this path | Indexes[] |
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
Indexes
| Name | Description | Value |
|---|---|---|
| dataType | The datatype for which the indexing behavior is applied to. | 'LineString' 'MultiPolygon' 'Number' 'Point' 'Polygon' 'String' |
| kind | Indicates the type of index. | 'Hash' 'Range' 'Spatial' |
| precision | The precision of the index. -1 is maximum precision. | int |
IndexingPolicy
| Name | Description | Value |
|---|---|---|
| automatic | Indicates if the indexing policy is automatic | bool |
| compositeIndexes | List of composite path list | CompositePath[][] |
| excludedPaths | List of paths to exclude from indexing | ExcludedPath[] |
| includedPaths | List of paths to include in the indexing | IncludedPath[] |
| indexingMode | Indicates the indexing mode. | 'consistent' 'lazy' 'none' |
| spatialIndexes | List of spatial specifics | SpatialSpec[] |
SpatialSpec
| Name | Description | Value |
|---|---|---|
| path | The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*) | string |
| types | List of path's spatial type | String array containing any of: 'LineString' 'MultiPolygon' 'Point' 'Polygon' |
SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties
| Name | Description | Value |
|---|---|---|
| options | A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request. | CreateUpdateOptionsOrSqlContainerGetPropertiesOptions |
| resource | The standard JSON format of a container | SqlContainerResourceOrSqlContainerGetPropertiesResource (required) |
SqlContainerResourceOrSqlContainerGetPropertiesResource
| Name | Description | Value |
|---|---|---|
| analyticalStorageTtl | Analytical TTL. | int |
| clientEncryptionPolicy | The client encryption policy for the container. | ClientEncryptionPolicy |
| conflictResolutionPolicy | The conflict resolution policy for the container. | ConflictResolutionPolicy |
| defaultTtl | Default time to live | int |
| id | Name of the Cosmos DB SQL container | string (required) |
| indexingPolicy | The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container | IndexingPolicy |
| partitionKey | The configuration of the partition key to be used for partitioning data into multiple partitions | ContainerPartitionKey |
| uniqueKeyPolicy | The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service. | UniqueKeyPolicy |
Tags
| Name | Description | Value |
|---|
UniqueKey
| Name | Description | Value |
|---|---|---|
| paths | List of paths must be unique for each document in the Azure Cosmos DB service | string[] |
UniqueKeyPolicy
| Name | Description | Value |
|---|---|---|
| uniqueKeys | List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service. | UniqueKey[] |
Usage Examples
Terraform Samples
A basic example of deploying SQL Container within a Cosmos DB Account.
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 = "BoundedStaleness"
maxIntervalInSeconds = 10
maxStalenessPrefix = 200
}
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 = {
throughput = 400
}
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 = "test-containerWest Europe"
partitionKey = {
kind = "Hash"
paths = [
"/definition",
]
}
}
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}