Delen via


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:

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 stdoutafdrukken, 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: