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:
- Benutzerdefinierte Typen
- Benutzerdefinierte Funktionen
- Importe zur Kompilierungszeit
- Experimentelle Features
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: