Bicep CLI-kommandon
I den här artikeln beskrivs de kommandon som du kan använda i Bicep CLI. Du har två alternativ för att köra dessa kommandon: antingen genom att använda Azure CLI eller genom att direkt anropa Bicep CLI-kommandon. Varje metod kräver en distinkt installationsprocess. Mer information finns i Installera Azure CLI och installera Azure PowerShell.
Den här artikeln visar hur du kör kommandona i Azure CLI. När du kör via Azure CLI startar du kommandona med az
. Om du inte använder Azure CLI kör du kommandona utan az
i början av kommandot. Blir till exempel az bicep build
bicep build
, och az bicep version
blir bicep --version
.
build
Kommandot build
konverterar en Bicep-fil till en Azure Resource Manager-mall (ARM-mall). Normalt behöver du inte köra det här kommandot eftersom det körs automatiskt när du distribuerar en Bicep-fil. Kör den manuellt när du vill se ARM-mallens JSON som skapas från Bicep-filen.
Om du använder någon av följande Bicep-funktioner aktiveras automatiskt språkversion 2.0-kodgenerering:
- användardefinierade typer
- användardefinierade funktioner
- kompilera tidsimporter
- experimentella funktioner
I följande exempel konverteras en Bicep-fil med namnet main.bicep till en ARM-mall med namnet main.json. Den nya filen skapas i samma katalog som Bicep-filen.
az bicep build --file main.bicep
I nästa exempel sparas main.json till en annan katalog.
az bicep build --file main.bicep --outdir c:\jsontemplates
I nästa exempel anges namnet och platsen för filen som ska skapas.
az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json
Om du vill skriva ut filen till stdout
använder du:
az bicep build --file main.bicep --stdout
Om Bicep-filen innehåller en modul som refererar till ett externt register anropar byggkommandot automatiskt återställning. Återställningskommandot hämtar filen från registret och lagrar den i den lokala cachen.
Kommentar
Återställningskommandot uppdaterar inte cacheminnet. Mer information finns i Återställa.
Om du inte vill anropa återställning automatiskt använder du växeln --no-restore
:
az bicep build --no-restore <bicep-file>
Byggprocessen med växeln --no-restore
misslyckas om en av de externa modulerna inte redan är cachelagrad:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
När du får det här felet kör build
du antingen kommandot utan växeln --no-restore
eller kör bicep restore
först.
Om du vill använda växeln --no-restore
måste du ha Bicep CLI version 0.4.X eller senare.
build-params
Kommandot build-params
skapar en .bicepparam-fil i en JSON-parameterfil.
az bicep build-params --file params.bicepparam
Det här kommandot konverterar en params.bicepparam-parameterfil till en params.json JSON-parameterfil.
Dekompilera
Kommandot decompile
konverterar ARM-mallens JSON till en Bicep-fil.
az bicep decompile --file main.json
Kommandot skapar en fil med namnet main.bicep i samma katalog som main.json. Om main.bicep finns i samma katalog använder du växeln --force för att skriva över den befintliga Bicep-filen.
Mer information om hur du använder det här kommandot finns i Dela upp ARM-mallens JSON till Bicep.
decompile-params
Kommandot decompile-params
dekompilera en JSON-parameterfil till en .bicepparam-parameterfil .
az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Det här kommandot dekompilerar en azuredeploy.parameters.json parameterfil till en azuredeploy.parameters.bicepparam-fil . --bicep-file
anger sökvägen till Bicep-filen (i förhållande till .bicepparam-filen) som refereras till i deklarationen using
.
format
Kommandot format
formaterar en Bicep-fil. Den har samma funktion som SHIFT+ALT+F
genvägen i Visual Studio Code.
az bicep format --file main.bicep
generate-params
Kommandot generate-params
skapar en parameterfil från den angivna Bicep-filen, uppdateras om det finns en befintlig parameterfil.
az bicep generate-params --file main.bicep --output-format bicepparam --include-params all
Kommandot skapar en Bicep-parameterfil med namnet main.bicepparam. Parameterfilen innehåller alla parametrar i Bicep-filen, oavsett om den är konfigurerad med standardvärden eller inte.
az bicep generate-params --file main.bicep --outfile main.parameters.json
Kommandot skapar en parameterfil med namnet main.parameters.json. Parameterfilen innehåller endast parametrarna utan standardvärden som konfigurerats i Bicep-filen.
installera
Kommandot install
lägger till Bicep CLI i din lokala miljö. Mer information finns i Installera Bicep-verktyg. Det här kommandot är endast tillgängligt via Azure CLI.
Om du vill installera den senaste versionen använder du:
az bicep install
Så här installerar du en specifik version:
az bicep install --version v0.3.255
jsonrpc
Kommandot jsonrpc
aktiverar körning av Bicep CLI med ett JSON-RPC-gränssnitt, vilket möjliggör programmatisk interaktion med strukturerade utdata och undviker fördröjningar vid kallstart vid kompilering av flera filer. Den här konfigurationen stöder också att skapa bibliotek för att interagera med Bicep-filer programmatiskt på non-.NET språk.
Trådformatet för att skicka och ta emot indata/utdata är sidhuvudavgränsat med hjälp av följande struktur, där \r
och \n
representerar vagnretur och radmatningstecken:
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
<length>
är längden på strängen<message>
, inklusive den avslutande\r\n\r\n
.<message>
är det råa JSON-meddelandet.
Till exempel:
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
Följande meddelande visar ett exempel för Bicep-versionen.
Indata:
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }
Utdata:
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Tillgängliga metoder och begärande-/svarsorgan finns i ICliJsonRpcProtocol.cs
.
Ett exempel på hur du upprättar en JSONRPC-anslutning och interagerar med Bicep-filer programmatiskt med hjälp av Node finns i jsonrpc.test.ts
.
Användning för namngivet rör
Använd följande syntax för att ansluta till en befintlig namngiven pipe som en JSONRPC-klient.
bicep jsonrpc --pipe <named_pipe>`
<named_pipe>
är en befintlig namngiven pipe som JSONRPC-klienten ska anslutas till.
Så här ansluter du till ett namngivet rör i OSX/Linux:
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
Så här ansluter du till ett namngivet rör i Windows:
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Fler exempel finns i C# och node.js.
Användning för TCP-socket
Använd följande syntax för att ansluta till en befintlig TCP-socket som en JSONRPC-klient.
bicep jsonrpc --socket <tcp_socket>
<tcp_socket>
är ett socketnummer som JSONRPC-klienten ska anslutas till.
Ansluta till en TCP-socket
bicep jsonrpc --socket 12345
Användning för stdin och stdout
Använd följande syntax för att köra JSONRPC-gränssnittet med stdin &stdout för meddelanden.
bicep jsonrpc --stdio
ludd
Kommandot lint
returnerar felen och linterregelöverträdelserna för en Bicep-fil.
az bicep lint --file main.bicep
Om Bicep-filen innehåller en modul som refererar till ett externt register anropar lint-kommandot automatiskt återställning. Återställningskommandot hämtar filen från registret och lagrar den i den lokala cachen.
Kommentar
Återställningskommandot uppdaterar inte cacheminnet. Mer information finns i Återställa.
Om du inte vill anropa återställning automatiskt använder du växeln --no-restore
:
az bicep lint --no-restore <bicep-file>
Lintprocessen med växeln --no-restore
misslyckas om en av de externa modulerna inte redan är cachelagrad:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
När du får det här felet kör lint
du antingen kommandot utan växeln --no-restore
eller kör bicep restore
först.
listversioner
Kommandot list-versions
returnerar alla tillgängliga versioner av Bicep CLI. Använd det här kommandot för att se om du vill uppgradera eller installera en ny version. Det här kommandot är endast tillgängligt via Azure CLI.
az bicep list-versions
Kommandot returnerar en matris med tillgängliga versioner.
[
"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"
]
publicera
Kommandot publish
lägger till en modul i ett register. Azure-containerregistret måste finnas och kontopublicering till registret måste ha rätt behörigheter. Mer information om hur du konfigurerar ett modulregister finns i Använda privat register för Bicep-moduler. För att kunna publicera en modul måste kontot ha rätt profil och behörighet för att få åtkomst till registret. Du kan konfigurera profil- och autentiseringsprioritet för autentisering till registret i Bicep-konfigurationsfilen.
När du har publicerat filen i registret kan du referera till den i en modul.
Om du vill använda publiceringskommandot måste du ha Bicep CLI version 0.14.X eller senare. Om du vill använda parametern --documentationUri
/-d
måste du ha Bicep CLI version 0.14.X eller senare.
Om du vill publicera en modul till ett register använder du:
az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Till exempel:
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
Kommandot publish
känner inte igen alias som anges i en bicepconfig.json fil. Ange den fullständiga modulsökvägen.
Varning
Publicering till samma mål skriver över den gamla modulen. Vi rekommenderar att du ökar versionen när du uppdaterar.
återställ
När Bicep-filen använder moduler som publiceras i ett register restore
hämtar kommandot kopior av alla nödvändiga moduler från registret. Den lagrar dessa kopior i en lokal cache. En Bicep-fil kan bara skapas när de externa filerna är tillgängliga i den lokala cachen. Normalt är det inte nödvändigt att köra återställning eftersom den utlöses automatiskt av byggprocessen.
Om du vill återställa externa moduler till den lokala cachen måste kontot ha rätt profil och behörigheter för att få åtkomst till registret. Du kan konfigurera profil- och autentiseringsprioritet för autentisering till registret i Bicep-konfigurationsfilen.
Om du vill använda återställningskommandot måste du ha Bicep CLI version 0.4.X eller senare. Det här kommandot är för närvarande endast tillgängligt när du anropar Bicep CLI direkt. Den är för närvarande inte tillgänglig via Azure CLI-kommandot.
Om du vill återställa de externa modulerna för en fil manuellt använder du:
az bicep restore --file <bicep-file> [--force]
Den Bicep-fil som du anger är den fil som du vill distribuera. Den måste innehålla en modul som länkar till ett register. Du kan till exempel återställa följande fil:
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
Den lokala cachen finns i:
På Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
I Linux
/home/<username>/.bicep
På Mac
~/.bicep
Kommandot restore
uppdaterar inte cacheminnet om en modul redan har cachelagrats. Om du vill uppdatera cacheminnet kan du antingen ta bort modulsökvägen från cacheminnet eller använda växeln --force
med restore
kommandot .
uppgradera
Kommandot upgrade
uppdaterar den installerade versionen med den senaste versionen. Det här kommandot är endast tillgängligt via Azure CLI.
az bicep upgrade
version
Kommandot version
returnerar den installerade versionen.
az bicep version
Kommandot visar versionsnumret.
Bicep CLI version 0.22.6 (d62b94db31)
Om du vill anropa det här kommandot direkt via Bicep CLI använder du:
bicep --version
Om Bicep CLI inte har installerats visas ett felmeddelande om att Bicep CLI inte hittades.
Nästa steg
Mer information om hur du distribuerar en Bicep-fil finns i: