Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Saiba como implantar um modelo do ARM (modelo do Azure Resource Manager) por meio do computador local. Esse procedimento demora cerca de 8 minutos para ser concluído.
Este tutorial é o primeiro de uma série. À medida que avança na série, você modulariza o modelo criando um modelo vinculado, armazena o modelo vinculado em uma conta de armazenamento e protege-o usando o token SAS, além de aprender a criar um pipeline de DevOps para implantar modelos. Esta série se concentra na implantação de modelo. Se desejar aprender sobre o desenvolvimento de modelos, confira os tutoriais de iniciantes.
Obter ferramentas
Verifique se você tem as ferramentas necessárias para implantar modelos.
Implantação de linha de comando
Para implantar o modelo, você precisa do Azure PowerShell ou da CLI do Azure. Para obter as instruções de instalação, confira:
- Instale o Azure PowerShell
- Instalar a CLI do Azure no Windows
- Instalar a CLI do Azure no Linux
- Instalar a CLI do Azure no macOS
Depois de instalar o Azure PowerShell ou a CLI do Azure, entre pela primeira vez. Para obter ajuda, confira Entrar – PowerShell ou Entrar – CLI do Azure.
Editor (opcional)
Modelos são arquivos JSON. Para examinar ou editar modelos, você pode usar o Visual Studio Code.
Examinar modelo
O modelo implanta uma conta de armazenamento, um plano do serviço de aplicativo e um aplicativo Web. Caso esteja interessado em criar o modelo, consulte o Tutorial de modelos de início rápido. No entanto, você não precisa criar o modelo para concluir este tutorial.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"projectName": {
"type": "string",
"minLength": 3,
"maxLength": 11,
"metadata": {
"description": "Specify a project name that is used to generate resource names."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Specify a location for the resources."
}
},
"storageSKU": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_RAGRS",
"Standard_ZRS",
"Premium_LRS",
"Premium_ZRS",
"Standard_GZRS",
"Standard_RAGZRS"
],
"metadata": {
"description": "Specify the storage account type."
}
},
"linuxFxVersion": {
"type": "string",
"defaultValue": "php|7.0",
"metadata": {
"description": "Specify the Runtime stack of current web app"
}
}
},
"variables": {
"storageAccountName": "[format('{0}{1}', parameters('projectName'), uniqueString(resourceGroup().id))]",
"webAppName": "[format('{0}WebApp', parameters('projectName'))]",
"appServicePlanName": "[format('{0}Plan', parameters('projectName'))]"
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2025-06-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageSKU')]"
},
"kind": "StorageV2",
"properties": {
"supportsHttpsTrafficOnly": true
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2025-03-01",
"name": "[variables('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
},
{
"type": "Microsoft.Web/sites",
"apiVersion": "2025-03-01",
"name": "[variables('webAppName')]",
"location": "[parameters('location')]",
"kind": "app",
"properties": {
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]",
"siteConfig": {
"linuxFxVersion": "[parameters('linuxFxVersion')]"
}
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('appServicePlanName'))]"
]
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName')), '2023-01-01').primaryEndpoints]"
}
}
}
Importante
Os nomes das contas de armazenamento devem ser exclusivos, ter entre 3 e 24 caracteres e usar apenas números e letras minúsculas. A variável storageAccountName do modelo de exemplo combina o máximo de 11 caracteres do parâmetro projectName com um valor de uniqueString de 13 caracteres.
Salve uma cópia do modelo no computador local com a extensão .json, por exemplo, azuredeploy.json. Você implantará esse modelo posteriormente no tutorial.
Entrar no Azure
Para começar a trabalhar com o Azure PowerShell ou a CLI do Azure para implantar um modelo, entre com suas credenciais do Azure.
Connect-AzAccount
Se tiver várias assinaturas do Azure, selecione a que deseja usar. Substitua [SubscriptionID/SubscriptionName] e os colchetes [] pelas informações da sua assinatura:
Set-AzContext [SubscriptionID/SubscriptionName]
Criar grupo de recursos
Ao implantar um modelo, especifique um grupo de recursos para os recursos. Antes de executar o comando de implantação, crie o grupo de recursos com a CLI do Azure ou o Azure PowerShell. Para escolher entre o Azure PowerShell e a CLI do Azure, selecione as guias na seção de código a seguir. Os exemplos de CLI neste artigo são escritos para o shell do Bash.
$projectName = Read-Host -Prompt "Enter a project name that is used to generate resource and resource group names"
$resourceGroupName = "${projectName}rg"
New-AzResourceGroup `
-Name $resourceGroupName `
-Location "Central US"
Implantar modelo
Use uma ou ambas as opções de implantação para implantar o modelo.
$projectName = Read-Host -Prompt "Enter the same project name"
$templateFile = Read-Host -Prompt "Enter the template file path and file name"
$resourceGroupName = "${projectName}rg"
New-AzResourceGroupDeployment `
-Name DeployLocalTemplate `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFile `
-projectName $projectName `
-verbose
Para saber mais sobre como implantar o modelo usando o Azure PowerShell, confira Implantar recursos com modelos do ARM e o Azure PowerShell.
Limpar os recursos
Para limpar os recursos implantados, exclua o grupo de recursos.
- No portal do Azure, escolha Grupos de recursos do menu à esquerda.
- No campo Filtrar por nome, insira o nome do grupo de recursos.
- Selecione o nome do grupo de recursos.
- Escolha Excluir grupo de recursos no menu superior.
Próximas etapas
Você aprendeu a implantar um modelo local. No próximo tutorial, você separará o modelo em um modelo principal e um modelo vinculado. Você também aprende como armazenar e proteger o modelo vinculado.