Freigeben über


Befehle der Bicep-Befehlszeilenschnittstelle

In diesem Artikel werden die Befehle beschrieben, die Sie in der Bicep-Befehlszeilenschnittstelle verwenden können. Sie können diese Befehle mithilfe der Azure CLI oder durch direktes Aufrufen von Bicep CLI-Befehlen ausführen. Jede Methode erfordert einen unterschiedlichen Installationsprozess. Weitere Informationen zu Installationen finden Sie unter Azure CLI und Azure PowerShell.

Dieser Leitfaden zeigt, wie Sie die Befehle in der Azure CLI ausführen. Wenn Sie Befehle in der Azure CLI ausführen, starten Sie sie mit az. Wenn Sie die Azure CLI nicht verwenden, führen Sie die Befehle ohne az zu Beginn der einzelnen Befehle aus. Beispielsweise wird az bicep build zu bicep build, und az bicep version wird zu bicep --version.

build

Mit dem build Befehl wird eine Bicep-Datei in eine JSON-Vorlage für Azure Resource Manager (ARM-Vorlage) konvertiert. In der Regel müssen Sie diesen Befehl nicht ausführen, da er bei der Bereitstellung einer Bicep-Datei automatisch ausgeführt wird. Führen Sie sie manuell aus, wenn Sie die JSON ARM-Vorlage anzeigen möchten, die aus Ihrer Bicep-Datei erstellt wurde.

Die Verwendung eines der folgenden Bicep-Features aktiviert automatisch die Codegenerierung mit der Sprachversion 2.0:

Im folgenden Beispiel wird eine Bicep-Datei mit dem Namen main.bicep in eine ARM-Vorlage mit dem Namen main.json konvertiert. Die neue Datei wird im selben Verzeichnis wie die Bicep-Datei erstellt:

az bicep build --file main.bicep

Im nächsten Beispiel wird main.json in einem anderen Verzeichnis gespeichert:

az bicep build --file main.bicep --outdir c:\jsontemplates

Im nächsten Beispiel wird der Name und speicherort der zu erstellenden Datei angegeben:

az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json

Verwenden Sie zum Ausgeben der Datei in stdout Folgendes:

az bicep build --file main.bicep --stdout

Wenn Ihre Bicep-Datei ein Modul enthält, das auf eine externe Registrierung verweist, ruft der build Befehl automatisch auf restore. Der restore Befehl ruft die Datei aus der Registrierung ab und speichert sie im lokalen Cache.

Hinweis

Der restore Befehl aktualisiert den Cache nicht. Weitere Informationen finden Sie unterWiederherstellen.

Verwenden Sie die Option --no-restore, um „restore“ nicht automatisch aufzurufen:

az bicep build --no-restore <bicep-file>

Der Buildprozess mit der Option --no-restore ist nicht erfolgreich, wenn eines der externen Module noch nicht zwischengespeichert wurde:

The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" hasn't been restored.

Wenn dieser Fehler angezeigt wird, führen Sie entweder den build Befehl ohne Schalter --no-restore aus, oder führen Sie zuerst aus bicep restore .

Um die --no-restore Option zu verwenden, benötigen Sie Bicep CLI , Version 0.4.X oder höher.

build-params

Der build-params Befehl erstellt eine .bicepparam Datei in einer JSON-Parameterdatei:

az bicep build-params --file params.bicepparam

Mit diesem Befehl wird eine params.bicepparam-Parameterdatei in eine params.json-JSON-Parameterdatei konvertiert.

decompile

Der decompile Befehl konvertiert eine JSON ARM-Vorlage in eine Bicep-Datei:

az bicep decompile --file main.json

Dieser Befehl erstellt eine Datei namens "main.bicep " im selben Verzeichnis wie main.json. Wenn sich in diesem Verzeichnis bereits eine Datei namens main.bicep befindet, verwenden Sie die Option --force, um die vorhandene Bicep-Datei zu überschreiben.

Weitere Informationen zur Verwendung dieses Befehls finden Sie unter Decompile JSON ARM-Vorlage zu Bicep.

dekompilieren-params

Der decompile-params Befehl dekompiliert eine JSON-Parameterdatei in eine .bicepparam Parameterdatei.

az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep

Dieser Befehl dekompiliert eine azuredeploy.parameters.json-Parameterdatei in eine Datei "azuredeploy.parameters.bicepparam ". --bicep-file Gibt den Pfad zur Bicep-Datei (relativ zur Datei) an, auf die .bicepparam in der using Deklaration verwiesen wird.

format

Der format Befehl formatiert eine Bicep-Datei. Er hat dieselbe Funktion wie die Verknüpfung SHIFT+ALT+F in Visual Studio Code.

az bicep format --file main.bicep

generate-params

Mit dem Befehl „generate-params“ wird die „.parameters.json“-Datei aus der vorhandenen Bicep-Datei erstellt. Sie wird aktualisiert, sofern die Parameterdatei vorhanden ist.

az bicep generate-params --file main.bicep --output-format bicepparam --include-params all

Mit diesem Befehl wird eine Bicep-Parameterdatei namens "main.bicepparam" erstellt. Die Parameterdatei enthält alle Parameter in der Bicep-Datei, ob mit Standardwerten konfiguriert oder nicht.

az bicep generate-params --file main.bicep --outfile main.parameters.json

Mit diesem Befehl wird eine Parameterdatei namens main.parameters.json erstellt. Die Parameterdatei enthält nur die Parameter ohne Standardwerte, die in der Bicep-Datei konfiguriert sind.

Installieren

Der install Befehl fügt der lokalen Umgebung die Bicep CLI hinzu und ist nur über die Azure CLI verfügbar. Weitere Informationen finden Sie unter Installieren von Bicep-Tools.

Verwenden Sie zur Installation der aktuellen Version Folgendes:

az bicep install

So installieren Sie eine bestimmte Version

az bicep install --version v0.3.255

jsonrpc

Mit dem jsonrpc Befehl wird die Bicep CLI mit einer JSON-RPC-Schnittstelle ausgeführt, sodass eine programmgesteuerte Interaktion mit einer strukturierten Ausgabe möglich ist und Kaltstartverzögerungen beim Kompilieren mehrerer Dateien vermieden werden. Dieses Setup unterstützt auch das Erstellen von Bibliotheken für die programmgesteuerte Interaktion mit Bicep-Dateien in non-.NET Sprachen.

Das Drahtformat für das Senden und Empfangen von Eingaben/Ausgaben ist durch Kopfzeilen getrennt, wobei die folgende Struktur verwendet wird, wobei \r Wagenrücklauf- und \n Zeilenvorschubzeichen dargestellt werden:

Content-Length: <length>\r\n\r\n<message>\r\n\r\n
  • <length> ist die Länge der <message> Zeichenfolge, einschließlich des nachgestellten \r\n\r\n.
  • <message> ist die unformatierte JSON-Nachricht.

Zum Beispiel:

Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n

Die folgende Meldung zeigt ein Beispiel für die Bicep-Version.

  • Die Eingabe:

    {
      "jsonrpc": "2.0",
      "id": 0,
      "method": "bicep/version",
      "params": {}
    }
    
  • Die Ausgabe ist:

    {
      "jsonrpc": "2.0",
      "id": 0,
      "result": {
        "version": "0.24.211"
      }
    }
    

Die verfügbaren Methoden und Anforderungs-/Antworttexte finden Sie unter ICliJsonRpcProtocol.cs. Ein Beispiel für die Einrichtung einer JSONRPC-Verbindung und die programmgesteuerte Interaktion mit Bicep-Dateien mithilfe von Node finden Sie unter jsonrpc.test.ts.

Verwendung für benannte Rohre

Verwenden Sie die folgende Syntax, um eine Verbindung mit einer vorhandenen benannten Pipe als JSONRPC-Client herzustellen:

bicep jsonrpc --pipe <named_pipe>`

<named_pipe> ist eine vorhandene benannte Pipe, mit der der JSONRPC-Client verbunden werden soll.

So stellen Sie eine Verbindung mit einer benannten Pipe unter OSX/Linux her:

bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock

So stellen Sie eine Verbindung mit einer benannten Pipe unter Windows her:

bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`

Weitere Beispiele finden Sie unter C# und node.js.

Verwendung für TCP-Socket

Verwenden Sie die folgende Syntax, um eine Verbindung mit einem vorhandenen TCP-Socket als JSONRPC-Client herzustellen:

bicep jsonrpc --socket <tcp_socket>

<tcp_socket> ist die Socketnummer, mit der der JSONRPC-Client eine Verbindung herstellt.

So stellen Sie eine Verbindung mit einem TCP-Socket her:

bicep jsonrpc --socket 12345

Verwendung für Stdin und Stdout

Verwenden Sie die folgende Syntax und stdin stdout Meldungen, um die JSONRPC-Schnittstelle auszuführen:

bicep jsonrpc --stdio

lint

Der lint Befehl gibt die Fehler und Linter-Regelverletzungen einer Bicep-Datei zurück.

az bicep lint --file main.bicep

Wenn Ihre Bicep-Datei ein Modul enthält, das auf eine externe Registrierung verweist, ruft der lint Befehl automatisch auf restore. Der restore Befehl ruft die Datei aus der Registrierung ab und speichert sie im lokalen Cache.

Hinweis

Der restore Befehl aktualisiert den Cache nicht. Weitere Informationen finden Sie unterWiederherstellen.

Verwenden Sie die Option --no-restore, um „restore“ nicht automatisch aufzurufen:

az bicep lint --no-restore <bicep-file>

Der lint-Prozess mit der Option --no-restore ist nicht erfolgreich, wenn eines der externen Module noch nicht zwischengespeichert wurde:

The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.

Wenn dieser Fehler auftritt, führen Sie entweder den Befehl lint ohne Option --no-restore aus, oder führen Sie zuerst bicep restore aus.

list-versions

Mit dem Befehl list-versions werden alle verfügbaren Versionen der Bicep-Befehlszeilenschnittstelle zurückgegeben. Verwenden Sie diesen Befehl, um zu sehen, ob Sie ein Upgrade durchführen oder eine neue Version installieren sollten. Dieser Befehl ist nur über die Azure CLI verfügbar.

az bicep list-versions

Der Befehl gibt ein Array verfügbarer Versionen zurück:

[
  "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"
]

Veröffentlichen

Der Befehl publish fügt einer Registrierung ein Modul hinzu. Die Azure-Containerregistrierung muss vorhanden sein, und das in der Registrierung veröffentlichte Konto muss über die richtigen Berechtigungen verfügen. Weitere Informationen zum Einrichten einer Modulregistrierung finden Sie unter Verwenden einer privaten Registrierung für Bicep-Module. Um ein Modul zu veröffentlichen, muss das Konto über das richtige Profil und die entsprechenden Berechtigungen für den Zugriff auf die Registrierung verfügen. Sie können die Rangfolge des Profils und der Anmeldeinformationen für die Authentifizierung bei der Registrierung in der Bicep-Konfigurationsdatei konfigurieren.

Nachdem Sie die Datei in der Registrierung veröffentlicht haben, können Sie in einem Modul darauf verweisen.

Sie müssen über Bicep CLI Version 0.14.X oder höher verfügen, um den publish Befehl und den --documentationUri/-d Parameter zu verwenden.

Verwenden Sie den folgenden Befehl, um ein Modul in einer Registrierung zu veröffentlichen:

az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>

Beispiel:

az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html

Der publish Befehl erkennt in einer bicepconfig.json Datei angegebene Aliase nicht. Geben Sie den vollständigen Modulpfad an.

Warnung

Durch eine Veröffentlichung im selben Ziel wird das alte Modul überschrieben. Es wird empfohlen, die Versionsnummer beim Aktualisieren zu erhöhen.

Wiederherstellen

Wenn Ihre Bicep-Datei Module verwendet, die in einer Registrierung veröffentlicht werden, ruft der Befehl restore Kopien aller benötigten Module aus der Registrierung ab. Diese Kopien werden in einem lokalen Cache gespeichert. Eine Bicep-Datei kann nur erstellt werden, wenn die externen Dateien im lokalen Cache verfügbar sind. Normalerweise ist die Ausführung der Wiederherstellung nicht erforderlich, da sie automatisch vom Buildprozess ausgelöst wird.

Um externe Module im lokalen Cache wiederherzustellen, muss das Konto über das richtige Profil und die richtigen Berechtigungen für den Zugriff auf die Registrierung verfügen. Sie können die Rangfolge des Profils und der Anmeldeinformationen für die Authentifizierung bei der Registrierung in der Bicep-Konfigurationsdatei konfigurieren.

Um den restore Befehl zu verwenden, benötigen Sie Bicep CLI , Version 0.14.X oder höher. Zu diesem Zeitpunkt ist dieser Befehl nur verfügbar, wenn die Bicep CLI direkt aufgerufen wird. Sie ist derzeit nicht über die Azure CLI verfügbar.

Verwenden Sie den folgenden Befehl, um die externen Module für eine Datei manuell wiederherzustellen:

az bicep restore --file <bicep-file> [--force]

Die angegebene Bicep-Datei ist die Datei, die Sie bereitstellen möchten. Sie muss ein Modul enthalten, das mit einer Registrierung verknüpft ist. Sie können beispielsweise die folgende Datei wiederherstellen:

module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
  name: 'storageDeploy'
  params: {
    storagePrefix: 'examplestg1'
  }
}

Der lokale Cache befindet sich hier:

  • Unter Windows

    %USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
    
  • Unter Linux

    /home/<username>/.bicep
    
  • Unter Mac

    ~/.bicep
    

Der restore-Befehl aktualisiert den Cache nicht, wenn ein Modul bereits zwischengespeichert ist. Um den Cache zu aktualisieren, können Sie entweder den Modulpfad aus dem Cache löschen oder den --force Schalter mit dem restore Befehl verwenden.

upgrade

Der Befehl upgrade aktualisiert Ihre installierte Version mit der neuesten Version. Dieser Befehl ist nur über die Azure CLI verfügbar.

az bicep upgrade

Version

Der version Befehl gibt Ihre installierte Version zurück:

az bicep version

Der Befehl zeigt die Versionsnummer an:

Bicep CLI version 0.22.6 (d62b94db31)

Wenn Sie diesen Befehl direkt über die Bicep-CLI aufrufen möchten, verwenden Sie:

bicep --version

Wenn die Bicep CLI nicht installiert wurde, wird eine Fehlermeldung angezeigt, die besagt, dass die Bicep CLI nicht gefunden wurde.

Nächste Schritte

Weitere Informationen zum Bereitstellen einer Bicep-Datei finden Sie unter: