Explorer le schéma et la structure des modèles Azure Resource Manager

Effectué

Un modèle Azure Resource Manager contient une définition au format JSON d’une ou plusieurs ressources Azure ainsi que des paramètres et des variables qui facilitent la personnalisation de leur configuration.

Dans sa structure la plus simple, un modèle a les éléments suivants :

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "",
  "apiProfile": "",
  "parameters": {  },
  "variables": {  },
  "functions": [  ],
  "resources": [  ],
  "outputs": {  }
}
Nom de l'élément Obligatoire Description
$schema Oui Emplacement du fichier de schéma JavaScript Object Notation (JSON) qui décrit la version du langage du modèle. Le numéro de version que vous utilisez dépend de l’étendue du déploiement et de votre éditeur JSON.

Si vous utilisez Visual Studio Code avec l’extension des outils Azure Resource Manager, utilisez la version la plus récente pour les déploiements de groupes de ressources :
https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#

Il se peut que d’autres éditeurs (dont Visual Studio) ne puissent pas traiter ce schéma. Pour ces éditeurs, utilisez :
https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

Pour les déploiements d’abonnements, utilisez :
https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#

Pour les déploiements de groupes d’administration, utilisez :
https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#

Pour les déploiements de locataires, utilisez :
https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#
contentVersion Oui Version du modèle (par exemple, 1.0.0.0). Vous pouvez fournir n’importe quelle valeur pour cet élément. Utilisez cette valeur pour documenter les modifications importantes dans votre modèle. Quand vous déployez des ressources à l'aide du modèle, cette valeur permet de vous assurer que le bon modèle est utilisé.
apiProfile Non Une version d’API qui sert de collection de versions d’API pour les types de ressources. Utilisez cette valeur pour éviter d’avoir à spécifier les versions d’API pour chaque ressource dans le modèle. Lorsque vous spécifiez une version de profil d’API et que vous ne spécifiez pas une version d’API pour le type de ressource, Resource Manager utilise la version d’API pour ce type de ressource qui est définie dans le profil.

La propriété de profil d’API est particulièrement utile lorsque vous déployez un modèle dans différents environnements, comme Azure Stack et Azure global. Utilisez la version de profil d’API pour vous assurer que votre modèle utilise automatiquement des versions prises en charge dans les deux environnements. Pour une liste des versions de profil d’API actuelles et les versions d’API définies dans le profil de ressources, consultez Profil d’API.

Pour plus d’informations, consultez Suivre les versions à l’aide de profils d’API.
parameters Non Valeurs fournies lors de l'exécution du déploiement pour personnaliser le déploiement des ressources.
variables Non Valeurs utilisées en tant que fragments JSON dans le modèle pour simplifier les expressions du langage du modèle.
functions Non Fonctions définies par l’utilisateur et disponibles dans le modèle.
resources Oui Types de ressource déployés ou mis à jour dans un groupe de ressources ou un abonnement.
outputs Non Valeurs retournées après le déploiement.

Démonstration facultative