Bicep CLI-opdrachten
In dit artikel worden de opdrachten beschreven die u kunt gebruiken in de Bicep CLI. U kunt deze opdrachten uitvoeren met behulp van de Azure CLI of door bicep CLI-opdrachten rechtstreeks aan te roepen. Voor elke methode is een afzonderlijk installatieproces vereist. Zie Azure CLI en Azure PowerShell voor meer informatie over installaties.
Deze richtlijnen laten zien hoe u de opdrachten uitvoert in de Azure CLI. Wanneer u opdrachten uitvoert in de Azure CLI, start u deze met az
. Als u de Azure CLI niet gebruikt, voert u de opdrachten uit zonder az
aan het begin van elk ervan. Wordt bijvoorbeeld az bicep build
bicep build
, en az bicep version
wordt bicep --version
.
build
Met de build
opdracht wordt een Bicep-bestand geconverteerd naar een JSON Azure Resource Manager-sjabloon (ARM-sjabloon). Normaal gesproken hoeft u deze opdracht niet uit te voeren, omdat deze automatisch wordt uitgevoerd wanneer u een Bicep-bestand implementeert. Voer deze handmatig uit wanneer u de JSON ARM-sjabloon wilt zien die is gemaakt op basis van uw Bicep-bestand.
Als u een van de volgende Bicep-functies gebruikt, wordt taalversie 2.0-code automatisch gegenereerd:
- door de gebruiker gedefinieerde typen
- door de gebruiker gedefinieerde functies
- compilatietijdimport
- experimentele functies
In het volgende voorbeeld wordt een Bicep-bestand met de naam main.bicep geconverteerd naar een ARM-sjabloon met de naam main.json. Het nieuwe bestand wordt gemaakt in dezelfde map als het Bicep-bestand:
az bicep build --file main.bicep
In het volgende voorbeeld wordt main.json opgeslagen in een andere map:
az bicep build --file main.bicep --outdir c:\jsontemplates
In het volgende voorbeeld wordt de naam en locatie opgegeven van het bestand dat moet worden gemaakt:
az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json
Als u het bestand wilt stdout
afdrukken, gebruikt u:
az bicep build --file main.bicep --stdout
Als uw Bicep-bestand een module bevat die verwijst naar een extern register, wordt de build
opdracht automatisch aanroepen restore
. Met de restore
opdracht wordt het bestand opgehaald uit het register en opgeslagen in de lokale cache.
Notitie
De restore
opdracht vernieuwt de cache niet. Zie herstellen voor meer informatie.
Als u herstel niet automatisch wilt aanroepen, gebruikt u de --no-restore
schakeloptie:
az bicep build --no-restore <bicep-file>
Het buildproces met de switch mislukt als een van de externe modules nog niet in de --no-restore
cache is opgeslagen:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.
Wanneer u deze fout krijgt, voert u de build
opdracht uit zonder de --no-restore
switch of voert u deze eerst uit bicep restore
.
Als u de --no-restore
switch wilt gebruiken, moet u Bicep CLI versie 0.4.X of hoger hebben.
build-params
Met de build-params
opdracht wordt een .bicepparam
bestand gebouwd in een JSON-parameterbestand:
az bicep build-params --file params.bicepparam
Met deze opdracht wordt een parameterbestand params.bicepparam geconverteerd naar een params.json JSON-parametersbestand.
decompileren
Met de decompile
opdracht wordt een JSON ARM-sjabloon geconverteerd naar een Bicep-bestand:
az bicep decompile --file main.json
Met deze opdracht maakt u een bestand met de naam main.bicep in dezelfde map als main.json. Als main.bicep in dezelfde map bestaat, gebruikt u de --force-switch om het bestaande Bicep-bestand te overschrijven.
Zie Decompile JSON ARM-sjabloon voor Bicep voor meer informatie over het gebruik van deze opdracht.
decompile-params
Met de decompile-params
opdracht wordt een JSON-parameterbestand gedecompileert naar een .bicepparam
parameterbestand.
az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Met deze opdracht wordt een azuredeploy.parameters.json parameterbestand gedecompileert in een bestand azuredeploy.parameters.bicepparam . --bicep-file
geeft het pad naar het Bicep-bestand (ten opzichte van het .bicepparam
bestand) waarnaar in de using
declaratie wordt verwezen.
indeling
Met de format
opdracht wordt een Bicep-bestand opgemaakt. Deze heeft dezelfde functie als de SHIFT+ALT+F
snelkoppeling in Visual Studio Code.
az bicep format --file main.bicep
generate-params
Met de generate-params
opdracht wordt een parameterbestand van het opgegeven Bicep-bestand gebouwd, wordt bijgewerkt als er een bestaand parameterbestand is.
az bicep generate-params --file main.bicep --output-format bicepparam --include-params all
Met deze opdracht maakt u een Bicep-parametersbestand met de naam main.bicepparam. Het parameterbestand bevat alle parameters in het Bicep-bestand, ongeacht of deze zijn geconfigureerd met standaardwaarden of niet.
az bicep generate-params --file main.bicep --outfile main.parameters.json
Met deze opdracht maakt u een parameterbestand met de naam main.parameters.json. Het parameterbestand bevat alleen de parameters zonder standaardwaarden die zijn geconfigureerd in het Bicep-bestand.
installeren
Met install
de opdracht wordt de Bicep CLI toegevoegd aan uw lokale omgeving en is deze alleen beschikbaar via de Azure CLI. Zie Bicep-hulpprogramma's installeren voor meer informatie.
Als u de nieuwste versie wilt installeren, gebruikt u:
az bicep install
Een specifieke versie installeren:
az bicep install --version v0.3.255
jsonrpc
Met jsonrpc
de opdracht kunt u de Bicep CLI uitvoeren met een JSON-RPC-interface, waardoor programmatische interactie met gestructureerde uitvoer mogelijk is en vertragingen bij het compileren van meerdere bestanden worden voorkomen. Deze installatie biedt ook ondersteuning voor het bouwen van bibliotheken om programmatisch te communiceren met Bicep-bestanden in non-.NET talen.
De draadindeling voor het verzenden en ontvangen van invoer/uitvoer wordt door headers gescheiden, met behulp van de volgende structuur, waarbij \r
\n
regelterugloop- en regelinvoertekens worden weergegeven:
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
<length>
is de lengte van de<message>
tekenreeks, inclusief de volgreeks\r\n\r\n
.<message>
is het onbewerkte JSON-bericht.
Voorbeeld:
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
In het volgende bericht ziet u een voorbeeld voor bicep-versie.
De invoer:
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }
De uitvoer:
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Zie voor de beschikbare methoden en aanvraag-/antwoordteksten ICliJsonRpcProtocol.cs
.
Zie voor een voorbeeld van het maken van een JSONRPC-verbinding en het programmatisch werken met Bicep-bestanden met behulp van Node jsonrpc.test.ts
.
Gebruik voor benoemde pijp
Gebruik de volgende syntaxis om verbinding te maken met een bestaande benoemde pijp als een JSONRPC-client:
bicep jsonrpc --pipe <named_pipe>`
<named_pipe>
is een bestaande benoemde pijp waarmee de JSONRPC-client wordt verbonden.
Verbinding maken met een benoemde pipe op OSX/Linux:
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
Verbinding maken met een benoemde pipe in Windows:
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Zie C# en node.js voor meer voorbeelden.
Gebruik voor TCP-socket
Gebruik de volgende syntaxis om verbinding te maken met een bestaande TCP-socket als een JSONRPC-client:
bicep jsonrpc --socket <tcp_socket>
<tcp_socket>
is het socketnummer waarmee de JSONRPC-client verbinding maakt.
Verbinding maken met een TCP-socket:
bicep jsonrpc --socket 12345
Gebruik voor stdin en stdout
Gebruik de volgende syntaxis en stdin
stdout
voor berichten om de JSONRPC-interface uit te voeren:
bicep jsonrpc --stdio
pluis
De lint
opdracht retourneert de fouten en linter-regelschendingen van een Bicep-bestand.
az bicep lint --file main.bicep
Als uw Bicep-bestand een module bevat die verwijst naar een extern register, wordt de lint
opdracht automatisch aanroepen restore
. Met de restore
opdracht wordt het bestand opgehaald uit het register en opgeslagen in de lokale cache.
Notitie
De restore
opdracht vernieuwt de cache niet. Zie herstellen voor meer informatie.
Als u herstel niet automatisch wilt aanroepen, gebruikt u de --no-restore
schakeloptie:
az bicep lint --no-restore <bicep-file>
Het lintproces met de switch mislukt als een van de externe modules nog niet in de --no-restore
cache is opgeslagen:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Wanneer u deze fout krijgt, voert u de lint
opdracht uit zonder de --no-restore
switch of voert u deze eerst uit bicep restore
.
list-versions
De list-versions
opdracht retourneert alle beschikbare versies van de Bicep CLI. Gebruik deze opdracht om te zien of u een nieuwe versie wilt upgraden of installeren . Deze opdracht is alleen beschikbaar via de Azure CLI.
az bicep list-versions
De opdracht retourneert een matrix met beschikbare versies:
[
"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"
]
publish
Met de publish
opdracht wordt een module toegevoegd aan een register. Het Azure-containerregister moet bestaan en het account dat naar het register wordt gepubliceerd, moet over de juiste machtigingen beschikken. Zie Privéregister gebruiken voor Bicep-modules voor meer informatie over het instellen van een moduleregister. Als u een module wilt publiceren, moet het account over het juiste profiel en de juiste machtigingen beschikken om toegang te krijgen tot het register. U kunt het profiel en de referentieprioriteit configureren voor verificatie bij het register in het Bicep-configuratiebestand.
Nadat u het bestand naar het register hebt gepubliceerd, kunt u ernaar verwijzen in een module.
U moet Bicep CLI versie 0.14.X of hoger hebben om de publish
opdracht en de --documentationUri
/-d
parameter te kunnen gebruiken.
Als u een module naar een register wilt publiceren, gebruikt u:
az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Voorbeeld:
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
De publish
opdracht herkent geen aliassen die zijn opgegeven in een bicepconfig.json-bestand. Geef het volledige modulepad op.
Waarschuwing
Als u naar hetzelfde doel publiceert, wordt de oude module overschreven. U wordt aangeraden de versie bij het bijwerken te verhogen.
De pagina Restore
Wanneer uw Bicep-bestand modules gebruikt die naar een register worden gepubliceerd, worden met de restore
opdracht kopieën opgehaald van alle vereiste modules uit het register. Deze kopieën worden opgeslagen in een lokale cache. Een Bicep-bestand kan alleen worden gebouwd wanneer de externe bestanden beschikbaar zijn in de lokale cache. Normaal gesproken is het uitvoeren van herstel niet nodig omdat deze automatisch wordt geactiveerd door het buildproces.
Als u externe modules wilt herstellen naar de lokale cache, moet het account over het juiste profiel en de juiste machtigingen beschikken om toegang te krijgen tot het register. U kunt het profiel en de referentieprioriteit configureren voor verificatie bij het register in het Bicep-configuratiebestand.
Als u de restore
opdracht wilt gebruiken, moet u Bicep CLI versie 0.14.X of hoger hebben. Op dit moment is deze opdracht alleen beschikbaar wanneer u de Bicep CLI rechtstreeks aanroept. Deze is momenteel niet beschikbaar via de Azure CLI.
Als u de externe modules voor een bestand handmatig wilt herstellen, gebruikt u:
az bicep restore --file <bicep-file> [--force]
Het Bicep-bestand dat u opgeeft, is het bestand dat u wilt implementeren. Deze moet een module bevatten die is gekoppeld aan een register. U kunt bijvoorbeeld het volgende bestand herstellen:
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
De lokale cache vindt u in:
In Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
In Linux
/home/<username>/.bicep
Op Mac
~/.bicep
De restore
opdracht vernieuwt de cache niet als een module al in de cache is opgeslagen. Als u de cache wilt vernieuwen, kunt u het modulepad uit de cache verwijderen of de --force
schakeloptie gebruiken met de restore
opdracht.
upgrade
Met upgrade
de opdracht wordt uw geïnstalleerde versie bijgewerkt met de nieuwste versie. Deze opdracht is alleen beschikbaar via de Azure CLI.
az bicep upgrade
version
De version
opdracht retourneert de geïnstalleerde versie:
az bicep version
Met de opdracht wordt het versienummer weergegeven:
Bicep CLI version 0.22.6 (d62b94db31)
Als u deze opdracht rechtstreeks wilt aanroepen via de Bicep CLI, gebruikt u:
bicep --version
Als de Bicep CLI niet is geïnstalleerd, ziet u een foutbericht waarin wordt aangegeven dat de Bicep CLI niet is gevonden.
Volgende stappen
Zie voor meer informatie over het implementeren van een Bicep-bestand: