Créer un fichier de paramètres pour le déploiement Bicep
Cet article vous montre comment créer un fichier de paramètres, que vous pouvez utiliser au lieu de passer les paramètres en tant que valeurs en ligne dans votre script. Vous pouvez utiliser un fichier de paramètres Bicep avec l’extension de fichier .bicepparam
ou un fichier de paramètres JSON qui contient la valeur de paramètre.
Remarque
Les fichiers de paramètres Bicep sont pris en charge seulement dans Bicep CLI version 0.18.4 ou ultérieure, Azure CLI version 2.47.0 ou ultérieure, et Azure PowerShell version 9.7.1 ou ultérieure.
Un seul fichier Bicep peut être associé à plusieurs fichiers de paramètres Bicep. Toutefois, chaque fichier de paramètres Bicep est destiné à un fichier Bicep particulier. Vous pouvez établir cette relation en appliquant l’instruction using
dans le fichier de paramètres Bicep.
Vous pouvez compiler des fichiers de paramètres Bicep dans des fichiers de paramètres JSON que vous pouvez déployer en utilisant un fichier Bicep. Pour plus d’informations, consultez build-params
. Vous pouvez également décompiler un fichier de paramètres JSON dans un fichier de paramètres Bicep. Pour plus d’informations, consultez decompile-params
.
Fichier de paramètres
Un fichier de paramètres utilise le format suivant :
using '<path>/<file-name>.bicep'
param <first-parameter-name> = <first-value>
param <second-parameter-name> = <second-value>
Vous pouvez appliquer l’instruction using
en utilisant un fichier Bicep, des modèles Azure Resource Manager JSON, des modules Bicep et des spécifications de modèle. Par exemple :
using './main.bicep'
...
using './azuredeploy.json'
...
using 'br/public:avm/res/storage/storage-account:0.9.0'
...
using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
...
using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
...
Si vous souhaitez en savoir plus, veuillez consulter la rubrique Instruction d’utilisation.
Vous pouvez utiliser des expressions avec la valeur par défaut. Par exemple :
using 'main.bicep'
param storageName = toLower('MyStorageAccount')
param intValue = 2 + 2
Vous pouvez référencer des variables d’environnement en tant que valeurs de paramètre. Par exemple :
using './main.bicep'
param intFromEnvironmentVariables = int(readEnvironmentVariable('intEnvVariableName'))
Vous pouvez définir et utiliser des variables. Vous devez utiliser Bicep CLI version 0.21.X ou ultérieure pour utiliser des variables dans les fichiers .bicepparam
. Regardez les exemples suivants :
using './main.bicep'
var storagePrefix = 'myStorage'
param primaryStorageName = '${storagePrefix}Primary'
param secondaryStorageName = '${storagePrefix}Secondary'
using './main.bicep'
var testSettings = {
instanceSize: 'Small'
instanceCount: 1
}
var prodSettings = {
instanceSize: 'Large'
instanceCount: 4
}
param environmentSettings = {
test: testSettings
prod: prodSettings
}
Remarque
Un fichier de paramètres enregistre les valeurs de paramètre en texte brut. Pour des raisons de sécurité, nous ne recommandons pas l’utilisation de cette approche avec les valeurs sensibles comme les mots de passe.
Si vous devez passer un paramètre avec une valeur sensible, vous devriez conserver la valeur dans un coffre de clés. Au lieu d’ajouter une valeur sensible à votre fichier de paramètres, utilisez la getSecret
fonction pour la récupérer. Pour plus d’informations, consultez Utiliser Azure Key Vault pour transmettre un secret en tant que paramètre pendant le déploiement Bicep.
Formats de types de paramètres
L’exemple suivant illustre les formats de différents types de paramètres : chaîne, entier, Booléen, tableau et objet.
using './main.bicep'
param exampleString = 'test string'
param exampleInt = 2 + 2
param exampleBool = true
param exampleArray = [
'value 1'
'value 2'
]
param exampleObject = {
property1: 'value 1'
property2: 'value 2'
}
Utilisez la syntaxe Bicep pour déclarer des objets et des tableaux.
Nom de fichier
L’extension de fichier pour un fichier de paramètres Bicep est .bicepparam
.
Pour effectuer un déploiement dans différents environnements, créez plusieurs fichiers de paramètres. Lorsque vous utilisez plusieurs fichiers de paramètres, étiquetez-les en fonction de leur utilisation. Par exemple, pour déployer des ressources, utilisez l’étiquette main.dev.bicepparam pour le développement et l’étiquette main.prod.bicepparam pour la production.
Définissez des valeurs de paramètre
Pour déterminer comment définir des noms de paramètres et des valeurs, ouvrez votre fichier Bicep. Consultez la section Paramètres du fichier Bicep. Les exemples suivants montrent les paramètres d’un fichier Bicep nommé main.bicep
:
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
'Premium_LRS'
])
param storageAccountType string = 'Standard_LRS'
Dans le fichier des paramètres, recherchez le nom de chaque paramètre. Les noms des paramètres de votre fichier de paramètres doivent correspondre à ceux de votre fichier Bicep.
using 'main.bicep'
param storagePrefix
param storageAccountType
L’instruction using
lie le fichier de paramètres Bicep à un fichier Bicep. Si vous souhaitez en savoir plus, veuillez consulter la rubrique Instruction d’utilisation.
Lorsque vous tapez le mot clé param
dans Visual Studio Code, il vous demande les paramètres disponibles et leurs descriptions à partir du fichier Bicep lié.
Lorsque vous pointez sur un nom param
, vous pouvez voir le type de données et la description du paramètre.
Vérifiez le type de paramètre, car les types de paramètres de votre fichier de paramètres doivent utiliser les mêmes types que votre fichier Bicep. Dans cet exemple, les deux types de paramètres sont des chaînes :
using 'main.bicep'
param storagePrefix = ''
param storageAccountType = ''
Vérifiez dans le fichier Bicep les paramètres qui incluent une valeur par défaut. Si un paramètre a une valeur par défaut, vous pouvez fournir une valeur dans le fichier de paramètres, mais ce n’est pas obligatoire. La valeur du fichier de paramètres remplace la valeur par défaut du fichier Bicep.
using 'main.bicep'
param storagePrefix = '' // This value must be provided.
param storageAccountType = '' // This value is optional. Bicep uses default value if not provided.
Pour voir s’il existe des restrictions telles que la longueur maximale, vérifiez les valeur autorisées du fichier Bicep. Les valeurs autorisées spécifient la plage de valeurs que vous pouvez fournir pour un paramètre. Dans cet exemple, storagePrefix
peut avoir un maximum de 11 caractères et storageAccountType
doit spécifier une valeur autorisée.
using 'main.bicep'
param storagePrefix = 'storage'
param storageAccountType = 'Standard_ZRS'
Générer un fichier de paramètres
Vous pouvez créer un fichier de paramètres en utilisant Visual Studio Code ou Bicep CLI. Les deux outils vous permettent d’utiliser un fichier Bicep pour générer un fichier de paramètres. Consultez Générer un fichier de paramètres pour la méthode avec Visual Studio Code, et Générer un fichier de paramètres pour la méthode avec Bicep CLI.
Construire un fichier de paramètres Bicep
À partir de l’interface CLI Bicep, vous pouvez générer un fichier de paramètres Bicep dans un fichier de paramètres JSON. Pour plus d’informations, consultez Créer un fichier de paramètres.
Déployer le fichier Bicep avec le fichier de paramètres
Azure CLI
À partir d’Azure CLI, vous pouvez transmettre un fichier de paramètres avec votre déploiement de fichiers Bicep.
Vous pouvez déployer un fichier Bicep en utilisant un fichier de paramètres Bicep avec Azure CLI version 2.53.0 ou ultérieure, et avec Bicep CLI version 0.22.X ou ultérieure. Avec l’instruction using
dans le fichier de paramètres Bicep, il n’est pas nécessaire de fournir le commutateur --template-file
lors de la spécification d’un fichier de paramètres Bicep pour le commutateur --parameters
.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam
Vous pouvez utiliser des paramètres inclus et un fichier de paramètres d’emplacement pendant la même opération de déploiement. Par exemple :
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam \
--parameters storageAccountType=Standard_LRS
Pour plus d’informations, consultez Déployer des fichiers Bicep en utilisant Azure CLI.
Azure PowerShell
À partir de Azure PowerShell, transmettez un fichier de paramètres local en utilisant le paramètre TemplateParameterFile
.
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam
Vous pouvez utiliser des paramètres inclus et un fichier de paramètres d’emplacement pendant la même opération de déploiement. Par exemple :
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam `
-storageAccountType Standard_LRS
Pour plus d’informations, consultez Déployer des fichiers Bicep en utilisant Microsoft Azure PowerShell. Pour déployer des fichiers .bicep
, vous avez besoin d’Azure PowerShell version 5.6.0 ou ultérieure.
Priorité des paramètres
Vous pouvez utiliser des paramètres inclus et un fichier de paramètres local pendant la même opération de déploiement. Par exemple, vous pouvez spécifier certaines valeurs dans le fichier de paramètres local et ajouter d’autres valeurs incluses pendant le déploiement. Si vous fournissez des valeurs pour un paramètre à la fois dans le fichier de paramètres local et inclus, la valeur incluse est prioritaire.
Bien que les fichiers de paramètres Bicep externes ne soient actuellement pas pris en charge, vous pouvez utiliser un fichier de paramètres JSON externe en fournissant l’URI au fichier. Lorsque vous utilisez un fichier de paramètres externe, fournissez toutes les valeurs de paramètres dans le fichier externe. Quand vous utilisez un fichier externe, vous ne pouvez pas transmettre d’autres valeurs, qu’elles soient incluses ou extraites d’un fichier local, et tous les paramètres en ligne sont ignorés.
Conflits de noms de paramètre
Si votre fichier Bicep inclut un paramètre utilisant le même nom que l'un des paramètres de la commande Azure PowerShell, Azure PowerShell présente le paramètre de votre fichier Bicep avec le suffixe FromTemplate
. Par exemple, si un paramètre nommé ResourceGroupName
dans votre fichier Bicep est en conflit avec le paramètre ResourceGroupName
dans la New-AzResourceGroupDeployment
cmdlet , vous êtes invité à fournir une valeur pour ResourceGroupNameFromTemplate
. Pour éviter cette confusion, utilisez des noms de paramètres qui ne sont pas utilisés pour les commandes de déploiement.
Contenu connexe
- Pour plus d'informations sur la définition des paramètres dans un fichier Bicep, consultez Paramètres dans Bicep.
- Pour obtenir des valeurs sensibles, consultez Utiliser Azure Key Vault pour transmettre une valeur de paramètre sécurisée pendant le déploiement.