Fonctionnement de Bicep
Vous avez développé une compréhension du langage de modèle Bicep et des avantages qu’il offre pour la création de modèles. Avant de commencer le processus d’écriture de modèles Bicep pour approvisionner vos ressources, vous souhaitez en savoir plus sur le fonctionnement de Bicep.
Dans cette unité, vous découvrez comment Bicep fonctionne avec Azure Resource Manager.
Déploiement Bicep
Dans l’unité précédente, vous avez appris que Bicep est conçu pour un scénario ou domaine spécifique, ce qui en fait un langage dédié. Bicep est conçu pour faciliter le déploiement et la configuration des ressources Azure.
Lorsque vous déployez une ressource ou une série de ressources sur Azure, vous soumettez le modèle Bicep à Resource Manager, qui requiert toujours des modèles JSON. Les outils intégrés à Bicep convertissent votre modèle Bicep en modèle JSON. Ce processus est connu sous le nom de transpilation, qui traite essentiellement le modèle ARM comme un langage intermédiaire. La conversion se produit automatiquement lorsque vous soumettez votre déploiement ou vous pouvez le faire manuellement.
Notes
La transpilation est le processus qui consiste à convertir le code source écrit dans un langage dans un autre langage.
Les dernières versions d’Azure CLI et d’Azure PowerShell disposent d’un support intégré de Bicep. Vous pouvez utiliser les mêmes commandes de déploiement pour déployer des modèles Bicep et JSON. Par exemple, la commande suivante déploie un modèle Bicep pour un groupe de ressources nommé storage-resource-group
:
az deployment group create \
--template-file main.bicep \
--resource-group storage-resource-group
Une fois ce déploiement envoyé, Resource Manager examine les ressources actuellement déployées dans Azure. Il examine ensuite ce que vous essayez de déployer et définit une séquence d’étapes pour atteindre cet état. Toutes ces activités impliquent l’appel de l’API Resource Manager.
Vous pouvez afficher le modèle JSON envoyé à Resource Manager en utilisant la commande bicep build
. Dans l’exemple suivant, un modèle Bicep est converti en son modèle JSON correspondant :
bicep build main.bicep
Comparaison de JSON et Bicep
Bicep fournit une syntaxe plus simple à utiliser lorsque vous écrivez des modèles. Examinez les exemples suivants de deux modèles. Le modèle à gauche de l’écran est un modèle Bicep. Le modèle à droite de l’écran est un modèle JSON.
Notez que le modèle Bicep contient moins de code. La syntaxe est plus facile à lire et à comprendre et il n’existe aucune expression complexe comme dans le modèle JSON à droite.
Notes
Pour afficher les fichiers JSON et Bicep équivalents côte à côte, consultez le Terrain de jeu de Bicep.