Fonctionnement de Bicep

Effectué

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.

Diagramme montrant le flux de travail d’un auteur de modèle, un modèle Bicep, un modèle JSON émis et un déploiement sur Azure.

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.

Capture d’écran capturant le code Bicep à gauche de l’écran et le code JSON correspondant à droite de l’écran.

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.