Démarrage rapide : Créer et déployer un spec de modèle avec Bicep
Article
Ce démarrage rapide décrit comment créer et déployer une spec de modèle avec un fichier Bicep. Une spec de modèle est déployée sur un groupe de ressources afin que les membres de votre organisation puissent déployer des ressources dans Microsoft Azure. Des specs de modèle vous permettent de partager des modèles de déploiement sans devoir accorder aux utilisateurs l’accès au fichier Bicep pour modifier celui-ci. Cet exemple de spec de modèle utilise un fichier Bicep pour déployer un compte de stockage.
Lorsque vous créez une spec de modèle, le fichier Bicep est transpilé en JSON (JavaScript Object Notation). La spec de modèle utilise JSON pour déployer des ressources Azure. Actuellement, vous ne pouvez pas utiliser le portail Azure pour importer un fichier Bicep et créer une ressource de spec de modèle.
Vous créez une spec de modèle à partir d’un fichier Bicep local. Copiez l’exemple suivant et enregistrez-le sur votre ordinateur sous main.bicep. Les exemples utilisent le chemin d’accès c:\templates\main.bicep. Vous pouvez utiliser un autre chemin d’accès, mais vous devez modifier les commandes.
Le fichier Bicep suivant est utilisé sous les onglets PowerShell et CLI. L’onglet Fichier Bicep utilise un autre modèle qui combine Bicep et JSON pour créer et déployer une spec de modèle.
La spec de modèle est un type de ressource nommé Microsoft.Resources/templateSpecs. Pour créer une spec de modèle, utilisez Azure CLI, Azure PowerShell ou un fichier Bicep.
Cet exemple utilise le nom de groupe de ressources templateSpecRG. Vous pouvez utiliser un autre nom, mais vous devrez modifier les commandes.
Vous pouvez créer une spec de modèle avec un fichier Bicep, mais le mainTemplate doit être en JSON. Le modèle JSON n’utilise pas la syntaxe JSON standard. Par exemple, il n’y a pas de virgule de fin de ligne, les guillemets sont remplacés par des apostrophes, et des barres obliques inverses (\) sont utilisées pour échapper les apostrophes à l’intérieur des expressions.
Copiez le modèle suivant et enregistrez-le sur votre ordinateur sous main.bicep.
az group create \
--name templateSpecRG \
--location westus2
Créez la spec de modèle dans ce groupe de ressources. Le nom de la spec de modèle storageSpec et le numéro de version 1.0 sont des paramètres dans le fichier Bicep.
az deployment group create \
--resource-group templateSpecRG \
--template-file "C:\templates\main.bicep"
Déployer une spec de modèle
Utilisez la spec de modèle pour déployer un compte de stockage. Cet exemple utilise le nom de groupe de ressources storageRG. Vous pouvez utiliser un autre nom, mais vous devrez modifier les commandes.
Vous fournissez des paramètres exactement comme vous le feriez pour le déploiement d’un fichier Bicep. Redéployez la spec de modèle avec un paramètre pour le type de compte de stockage.
Il existe un problème connu lié à l’obtention de l’ID de la spec de modèle et à son attribution à une variable dans Windows PowerShell.
Déployez la spec de modèle.
az deployment group create \
--resource-group storageRG \
--template-spec $id
Vous fournissez des paramètres exactement comme vous le feriez pour le déploiement d’un fichier Bicep. Redéployez la spec de modèle avec un paramètre pour le type de compte de stockage.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageAccountType="Standard_GRS"
Pour déployer une spec de modèle à l’aide d’un fichier Bicep, utilisez un module. Le module lie à une spec de modèle existante. Pour plus d’informations, consultez Fichier dans une spec de modèle.
Copiez le module Bicep suivant et enregistrez-le sur votre ordinateur sous storage.bicep.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Vous pouvez ajouter un paramètre et redéployer la spec de modèle avec un type de compte de stockage différent. Copiez l’exemple et remplacez votre fichier storage.bicep . Ensuite, redéployez la spec de modèle.
Si vous voulez permettre à d’autres utilisateurs de votre organisation de déployer votre spec de modèle, vous devez leur accorder un accès en lecture. Vous pouvez attribuer le rôle Lecteur à un groupe de Microsoft Entra pour le groupe de ressources contenant les specs de modèle que vous souhaitez partager. Pour plus d’informations, consultez le Tutoriel : Accorder à un groupe l’accès aux ressources Azure à l’aide d’Azure PowerShell.
Créer un fichier Bicep
Une fois la spec de modèle créée, vous avez décidé de mettre à jour le fichier Bicep. Pour continuer avec les exemples sous les onglets PowerShell ou CLI, copiez l’exemple et remplacez votre fichier main.bicep.
Le paramètre storageNamePrefix spécifie une valeur de préfixe pour le nom du compte de stockage. La variable storageAccountName concatène le préfixe avec une chaîne unique.
Au lieu de créer une spec de modèle pour le modèle révisé, ajoutez une nouvelle version nommée 2.0 à la spec de modèle existante. Les utilisateurs peuvent choisir de déployer la version de leur choix.
Déployez la nouvelle version et utilisez le storageNamePrefix pour spécifier un préfixe pour le nom du compte de stockage.
az deployment group create \
--resource-group storageRG \
--template-spec $id \
--parameters storageNamePrefix="demo"
Créez une nouvelle version de la spec de modèle. Copiez l’exemple et remplacez votre fichier main.bicep.
Le paramètre storageNamePrefix spécifie une valeur de préfixe pour le nom du compte de stockage. La variable storageAccountName concatène le préfixe avec une chaîne unique.
az deployment group create \
--resource-group storageRG \
--template-file "C:\templates\storage.bicep"
Nettoyer les ressources
Pour nettoyer la ressource que vous avez déployée dans le cadre de ce démarrage rapide, supprimez les deux groupes de ressources. Le groupe de ressources, les specs de modèle et les comptes de stockage seront supprimés.
Pour supprimer les groupes de ressources, utilisez Azure PowerShell ou Azure CLI.