Commandes de l'interface CLI Bicep
Cet article décrit les commandes que vous pouvez utiliser dans l'interface CLI Bicep. Vous disposez de deux options pour exécuter ces commandes : soit en utilisant l’interface Azure CLI, soit en appelant directement des commandes CLI Bicep. Chaque méthode nécessite un processus d’installation distinct. Si vous souhaitez obtenir plus d’informations, consultez Installer l’interface de ligne de commande Azure et Installer Azure PowerShell.
Cet article explique comment exécuter les commandes dans Azure CLI. Lorsque vous exécutez Azure CLI, vous démarrez les commandes avec az
. Si vous n'utilisez pas Azure CLI, exécutez les commandes sans az
au début de celle-ci. Par exemple, az bicep build
devient bicep build
et az bicep version
devient bicep --version
.
build
La commande build
convertit un fichier Bicep en modèle Azure Resource Manager (modèle ARM). En général, vous n'avez pas besoin d'exécuter cette commande car elle s'exécute automatiquement lorsque vous déployez un fichier Bicep. Exécutez-la manuellement lorsque vous souhaitez voir le modèle ARM JSON créé à partir de votre fichier Bicep.
L’utilisation de l’une des fonctionnalités Bicep suivantes active automatiquement la génération de code version 2.0 du langage :
- types définis par l’utilisateur
- fonctions définies par l’utilisateur
- importations au moment de la compilation
- fonctionnalités expérimentales
L'exemple suivant convertit un fichier Bicep nommé main.bicep en modèle ARM nommé main.json. Le nouveau fichier est créé dans le même répertoire que le fichier Bicep.
az bicep build --file main.bicep
L'exemple suivant enregistre le fichier main.json dans un autre répertoire.
az bicep build --file main.bicep --outdir c:\jsontemplates
L'exemple suivant spécifie le nom et l'emplacement du fichier à créer.
az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json
Pour imprimer le fichier sur stdout
, utilisez :
az bicep build --file main.bicep --stdout
Si votre fichier Bicep comprend un module qui fait référence à un registre externe, la commande de génération appelle automatiquement restore. La commande restore récupère le fichier à partir du registre et le stocke dans le cache local.
Notes
La commande de restauration n’actualise pas le cache. Pour plus d’informations, consultez restore.
Pour ne pas appeler la commande restore automatiquement, utilisez le commutateur --no-restore
:
az bicep build --no-restore <bicep-file>
Le processus de génération avec le commutateur --no-restore
échoue si l’un des modules externes n’est pas déjà mis en cache :
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Quand vous recevez cette erreur, vous devez exécuter la commande build
sans le commutateur --no-restore
ou exécuter bicep restore
en premier.
Pour utiliser le commutateur --no-restore
, vous devez avoir Bicep CLI version 0.4 ou ultérieure.
build-params
La commande build-params
génère un fichier .bicepparam dans un fichier de paramètres JSON.
az bicep build-params --file params.bicepparam
Cette commande convertit un fichier de paramètres params.bicepparam en fichier de paramètres params.json JSON.
decompile
La commande decompile
convertit le modèle ARM JSON en fichier Bicep.
az bicep decompile --file main.json
La commande crée un fichier nommé main.bicep dans le répertoire que main.json. Si main.bicep existe dans le même répertoire, utilisez le commutateur --force pour remplacer le fichier Bicep existant.
Pour plus d’informations sur l'utilisation de cette commande, consultez Décompiler le modèle ARM JSON en Bicep.
decompile-params
La commande decompile-params
décompile un fichier de paramètres JSON dans un fichier de paramètres .bicepparam.
az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Cette commande décompile un fichier de paramètres azuredeploy.parameters.json dans un fichier azuredeploy.parameters.bicepparam. --bicep-file
spécifie le chemin d’accès au fichier Bicep (relatif au fichier .bicepparam) qui est référencé dans la déclaration using
.
format
La commande format
met en forme un fichier Bicep. Il s’agit de la même fonction que le raccourci SHIFT+ALT+F
dans Visual Studio Code.
az bicep format --file main.bicep
generate-params
La commande generate-params
génère un fichier de paramètres à partir du fichier Bicep donné ou effectue une mise à jour si un fichier de paramètres existe.
az bicep generate-params --file main.bicep --output-format bicepparam --include-params all
La commande crée un fichier de paramètres Bicep nommé main.bicepparam. Le fichier de paramètres contient tous les paramètres du fichier Bicep, qu’ils soient configurés avec des valeurs par défaut ou non.
az bicep generate-params --file main.bicep --outfile main.parameters.json
La commande crée un fichier de paramètres nommé main.parameters.json. Le fichier de paramètres contient uniquement les paramètres, sans que les valeurs par défaut soient configurées dans le fichier Bicep.
installer
La commande install
ajoute l'interface CLI Bicep à votre environnement local. Pour plus d'informations, consultez Installer les outils Bicep. Cette commande n’est disponible que via Azure CLI.
Pour installer la version la plus récente, utilisez :
az bicep install
Pour installer une version spécifique :
az bicep install --version v0.3.255
jsonrpc
La jsonrpc
commande active l’exécution de l’interface CLI Bicep avec une interface JSON-RPC, ce qui permet une interaction programmatique avec une sortie structurée et évite les retards de démarrage à froid lors de la compilation de plusieurs fichiers. Cette configuration prend également en charge la création de bibliothèques pour interagir avec les fichiers Bicep par programmation dans non-.NET langages.
Le format de câble pour l’envoi et la réception d’entrée/sortie est délimité par l’en-tête, à l’aide de la structure suivante, où \r
et \n
représentent les caractères de retour chariot et de flux de ligne :
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
<length>
est la longueur de la<message>
chaîne, y compris la fin\r\n\r\n
.<message>
est le message JSON brut.
Par exemple :
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
Le message suivant montre un exemple de version de Bicep.
Entrée :
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }
La sortie est la suivante :
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Pour connaître les méthodes disponibles et les corps de requête/réponse, consultez ICliJsonRpcProtocol.cs
.
Pour obtenir un exemple d’établissement d’une connexion JSONRPC et d’interaction avec des fichiers Bicep par programmation à l’aide de Node, consultez jsonrpc.test.ts
.
Utilisation du canal nommé
Utilisez la syntaxe suivante pour vous connecter à un canal nommé existant en tant que client JSONRPC.
bicep jsonrpc --pipe <named_pipe>`
<named_pipe>
est un canal nommé existant auquel connecter le client JSONRPC.
Pour vous connecter à un canal nommé sur OSX/Linux :
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
Pour vous connecter à un canal nommé sur Windows :
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Pour plus d’exemples, consultez C# et node.js.
Utilisation du socket TCP
Utilisez la syntaxe suivante pour vous connecter à un socket TCP existant en tant que client JSONRPC.
bicep jsonrpc --socket <tcp_socket>
<tcp_socket>
est un numéro de socket auquel connecter le client JSONRPC.
Pour vous connecter à un socket TCP
bicep jsonrpc --socket 12345
Utilisation de stdin et stdout
Utilisez la syntaxe suivante pour exécuter l’interface JSONRPC à l’aide de stdin &stdout pour les messages.
bicep jsonrpc --stdio
lint
La commande lint
retourne les erreurs et les violations de règle de linter d’un fichier Bicep.
az bicep lint --file main.bicep
Si votre fichier Bicep comprend un module qui fait référence à un registre externe, la commande lint appelle automatiquement restore (restaurer). La commande restore récupère le fichier à partir du registre et le stocke dans le cache local.
Notes
La commande de restauration n’actualise pas le cache. Pour plus d’informations, consultez restore.
Pour ne pas appeler la commande restore automatiquement, utilisez le commutateur --no-restore
:
az bicep lint --no-restore <bicep-file>
Le processus lint avec le commutateur --no-restore
échoue si l’un des modules externes n’est pas déjà mis en cache :
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Quand vous recevez cette erreur, vous devez exécuter la commande lint
sans le commutateur --no-restore
ou exécuter bicep restore
en premier.
list-versions
La commande list-versions
renvoie toutes les versions disponibles de l'interface CLI Bicep. Utilisez cette commande pour savoir si vous devez mettre à niveau ou installer une nouvelle version. Cette commande n’est disponible que via Azure CLI.
az bicep list-versions
La commande renvoie le tableau des versions disponibles.
[
"v0.28.1",
"v0.27.1",
"v0.26.170",
"v0.26.54",
"v0.25.53",
"v0.25.3",
"v0.24.24",
"v0.23.1",
"v0.22.6",
"v0.21.1",
"v0.20.4",
"v0.19.5",
"v0.18.4",
"v0.17.1",
"v0.16.2",
"v0.16.1",
"v0.15.31",
"v0.14.85",
"v0.14.46",
"v0.14.6",
"v0.13.1",
"v0.12.40",
"v0.12.1",
"v0.11.1",
"v0.10.61",
"v0.10.13",
"v0.9.1",
"v0.8.9",
"v0.8.2",
"v0.7.4"
]
Publier
La commande publish
ajoute un module à un registre. Le registre de conteneurs Azure doit exister et le compte qui publie dans le registre doit disposer des autorisations appropriées. Pour plus d’informations sur la configuration d’un registre de modules, consultez Utiliser un registre privé pour les modules Bicep. Pour publier un module, le compte doit disposer du profil et des autorisations appropriés pour accéder au registre. Vous pouvez configurer le profil et les informations d’identification prioritaires pour l’authentification auprès du registre dans le fichier de configuration de Bicep.
Après avoir publié le fichier dans le registre, vous pouvez le référencer dans un module.
Pour utiliser la commande publier, vous devez avoir l’interface CLI Bicep version 0.14 ou ultérieure. Pour utiliser le paramètre --documentationUri
/-d
, vous devez avoir Bicep CLI version 0.14 ou ultérieure.
Pour publier un module dans un registre, utilisez :
az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Par exemple :
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
La commande publish
ne reconnaît pas les alias définis dans un fichier bicepconfig.json. Indiquez le chemin d’accès complet au module.
Avertissement
La publication sur la même cible remplace l’ancien module. Nous vous recommandons d’incrémenter la version lors de la mise à jour.
restauration
Lorsque votre fichier Bicep utilise des modules qui sont publiés dans un registre, la commande restore
obtient des copies de tous les modules requis à partir du registre. Elle stocke ces copies dans un cache local. Un fichier Bicep ne peut être généré que lorsque les fichiers externes sont disponibles dans le cache local. L’exécution de la commande restore n’est normalement pas nécessaire, car elle est automatiquement déclenchée par le processus de génération.
Pour restaurer des modules externes dans le cache local, le compte doit disposer du profil et des autorisations appropriées pour accéder au registre. Vous pouvez configurer le profil et les informations d’identification prioritaires pour l’authentification auprès du registre dans le fichier de configuration de Bicep.
Pour utiliser la commande restore, vous devez avoir Bicep CLI version 0.4 ou ultérieure. Cette commande n’est actuellement disponible que lorsque vous appelez Bicep CLI directement. Elle n’est actuellement pas disponible via la commande Azure CLI.
Pour restaurer manuellement les modules externes d’un fichier, utilisez :
az bicep restore --file <bicep-file> [--force]
Le fichier Bicep que vous fournissez est le fichier que vous souhaitez déployer. Il doit contenir un module qui établit un lien vers un registre. Par exemple, vous pouvez restaurer le fichier suivant :
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
Le cache local se trouve sous :
Sur Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
Sur Linux
/home/<username>/.bicep
Sur Mac
~/.bicep
La commande restore
n’actualise pas le cache si un module est déjà mis en cache. Pour mettre à jour le cache, vous pouvez supprimer le chemin du module du cache ou utiliser le commutateur --force
avec la commande restore
.
upgrade
La commande upgrade
procède à la mise à jour de la version installée vers la dernière version. Cette commande n’est disponible que via Azure CLI.
az bicep upgrade
version
La commande version
renvoie la version installée.
az bicep version
La commande indique le numéro de version.
Bicep CLI version 0.22.6 (d62b94db31)
Pour appeler cette commande directement via Bicep CLI, utilisez :
bicep --version
Si l’interface CLI Bicep n’est pas installée, vous rencontrez un message d’erreur indiquant que l’interface CLI Bicep est introuvable.
Étapes suivantes
Pour en savoir plus sur le déploiement d'un fichier Bicep, consultez :