Create an Azure Cosmos account for SQL API

Last updated: 31-10-2019

This template creates an Azure Cosmos account for Core (SQL) API with shared and dedicate throughput and multiple other options.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
accountName Cosmos DB account name, max length 44 characters
location Location for the Cosmos DB account.
primaryRegion The primary replica region for the Cosmos DB account.
secondaryRegion The secondary replica region for the Cosmos DB account.
defaultConsistencyLevel The default consistency level of the Cosmos DB account.
maxStalenessPrefix Max stale requests. Required for BoundedStaleness. Valid ranges, Single Region: 10 to 1000000. Multi Region: 100000 to 1000000.
maxIntervalInSeconds Max lag time (minutes). Required for BoundedStaleness. Valid ranges, Single Region: 5 to 84600. Multi Region: 300 to 86400.
multipleWriteLocations Enable multi-master to make all regions writable.
automaticFailover Enable automatic failover for regions. Ignored when Multi-Master is enabled
databaseName The name for the SQL database
sharedThroughput The throughput for the database to be shared
sharedContainer1Name The name for the first container with shared throughput
sharedContainer2Name The name for the second container with shared throughput
dedicatedContainer1Name The name for the container with dedicated throughput
dedicatedThroughput The throughput for the container with dedicated throughput

Use the template

PowerShell

New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-cosmosdb-sql/azuredeploy.json
Install and configure Azure PowerShell

Command line

az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deployment
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-cosmosdb-sql/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface