Explorar a estrutura e o esquema do modelo do Azure Resource Manager

Concluído

Um modelo do Azure Resource Manager contém uma definição formatada em JSON de um ou mais recursos do Azure, com parâmetros e variáveis que facilitam a personalização da configuração.

Em sua estrutura mais simples, um modelo tem os seguintes elementos:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "",
  "apiProfile": "",
  "parameters": {  },
  "variables": {  },
  "functions": [  ],
  "resources": [  ],
  "outputs": {  }
}
Nome do elemento Obrigatório Descrição
$schema Yes Local do arquivo de esquema JavaScript Object Notation (JSON) que descreve a versão da linguagem do modelo. O número de versão usada depende do escopo da implantação e do editor de JSON.

Se você estiver usando o Visual Studio Code com a extensão de ferramentas Azure Resource Manager, use a versão mais recente para implantações de grupo de recursos:
https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#

Outros editores (incluindo o Visual Studio) podem não ser capazes de processar esse esquema. Para esses editores, use:
https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

Para implantações de assinatura, use:
https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#

Para implantações de grupo de recursos, use:
https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#

Para implantações de locatário, use:
https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#
contentVersion Yes Versão do modelo (como 1.0.0.0). Você pode fornecer qualquer valor para esse elemento. Use esse valor para documentar alterações significativas em seu modelo. Ao implantar recursos com o modelo, esse valor pode ser usado para garantir que o modelo certo esteja sendo usado.
apiProfile No Uma versão da API que serve como uma coleção de versões de API para tipos de recursos. Use esse valor para evitar a especificação de versões de API para cada recurso no modelo. Quando você especifica uma versão de perfil de API e não especifica uma versão da API para o tipo de recurso, o Resource Manager usa a versão da API para esse tipo de recurso definido no perfil.

A propriedade de perfil de API é especialmente útil ao implantar um modelo em ambientes diferentes, como Azure Stack e global do Azure. Use a versão do perfil de API para certificar-se que seu modelo use automaticamente versões com suporte em ambos os ambientes. Para obter uma lista das versões atuais do perfil de API e das versões de API de recursos definidas no perfil, consulte perfil de API.

Para obter mais informações, consulte rastrear versões usando perfis de API.
parameters No Valores que são fornecidos quando a implantação é executada para personalizar a implantação dos recursos.
variáveis No Valores que são usados como fragmentos JSON no modelo para simplificar expressões de linguagem do modelo.
funções No Funções definidas pelo usuário que estão disponíveis no modelo.
recursos Yes Tipos de recursos que são implantados ou atualizados em um grupo de recursos ou assinatura.
outputs No Valores que são retornados após a implantação.

Demonstração opcional