Create a zero touch Azure Cosmos account and Azure Web App

Last updated: 18-06-2020

This template creates an Azure Cosmos account, injects the Cosmos DB endpoint and keys into Azure Web App settings, then deploys an ASP MVC web app from GitHub.

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
applicationName Application Name, max length 30 characters
location Location for all resources.
appServicePlanTier App Service Plan's pricing tier. Details at https://azure.microsoft.com/en-us/pricing/details/app-service/
appServicePlanInstances App Service Plan's instance count
repositoryURL The URL for the GitHub repository that contains the project to deploy.
branch The branch of the GitHub repository to use.
databaseName The Cosmos DB database name.
containerName The Cosmos DB container name.

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-webapp/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-webapp/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface