Comandi dell'interfaccia della riga di comando di Bicep
Questo articolo descrive i comandi che è possibile usare nell'interfaccia della riga di comando di Bicep. Sono disponibili due opzioni per l'esecuzione di questi comandi: usando l'interfaccia della riga di comando di Azure o richiamando direttamente i comandi dell'interfaccia della riga di comando di Bicep. Ogni metodo richiede un processo di installazione distinto. Per altre informazioni, vedere Installare l'interfaccia della riga di comando di Azure e Installare Azure PowerShell.
Questo articolo illustra come eseguire i comandi nell'interfaccia della riga di comando di Azure. Quando si esegue l'interfaccia della riga di comando di Azure, si avviano i comandi con az
. Se non si usa l'interfaccia della riga di comando di Azure, eseguire i comandi senza az
all'avvio del comando. Ad esempio, az bicep build
diventa bicep build
, e az bicep version
diventa bicep --version
.
build
Il comando build
converte un file Bicep in un modello di Azure Resource Manager (modello ARM). In genere, non è necessario eseguire questo comando perché viene eseguito automaticamente quando si distribuisce un file Bicep. Eseguirlo manualmente quando si vuole visualizzare il codice JSON del modello ARM creato dal file Bicep.
L'uso di una delle funzionalità Bicep seguenti abilita automaticamente la generazione del codice della versione 2.0 del linguaggio:
- tipi definiti dall'utente
- funzioni definite dall'utente
- importazioni in fase di compilazione
- funzionalità sperimentali
L'esempio seguente converte un file Bicep denominato main.bicep in un modello di Resource Manager denominato main.json. Il nuovo file viene creato nella stessa directory del file Bicep.
az bicep build --file main.bicep
L'esempio seguente salva main.json in una directory diversa.
az bicep build --file main.bicep --outdir c:\jsontemplates
Nell'esempio seguente viene specificato il nome e il percorso del file da creare.
az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json
Per stampare il file in stdout
, usare:
az bicep build --file main.bicep --stdout
Se il file Bicep include un modulo che fa riferimento a un registro esterno, il comando di compilazione chiama automaticamente il ripristino. Il comando Ripristino ottiene il file dal Registro di sistema e lo archivia nella cache locale.
Nota
Il comando Ripristino non aggiorna la cache. Per altre informazioni, vedere ripristino.
Per non chiamare automaticamente il ripristino, usare l'opzione --no-restore
:
az bicep build --no-restore <bicep-file>
Il processo di compilazione con l'opzione --no-restore
ha esito negativo se uno dei moduli esterni non è già memorizzato nella cache:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Quando viene visualizzato questo errore, eseguire prima il comando build
senza l'opzione --no-restore
o eseguire bicep restore
.
Per usare l'opzione --no-restore
, è necessario avere l’interfaccia della riga di comando di Bicep versione 0.4.X o successiva.
parametri di compilazione
Il comando build-params
compila un file .bicepparam in un file di parametri JSON.
az bicep build-params --file params.bicepparam
Questo comando converte un file di parametri params.bicepparam in un file di parametri JSON params.json.
decompilare
Il comando decompile
converte il codice JSON del modello ARM in un file Bicep.
az bicep decompile --file main.json
Il comando crea un file denominato main.bicep nella stessa directory di main.json. Se main.bicep esiste nella stessa directory, usare l'opzione --force per sovrascrivere il file Bicep esistente.
Per altre informazioni sull'uso di questo comando, vedere Decompilazione di JSON del modello ARM in Bicep.
decompile-params
Il comando decompile-params
decompila un file di parametri JSON in un file di parametri bicepparam.
az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Questo comando decompila un file di parametri azuredeploy.parameters.json in un file azuredeploy.parameters.bicepparam. --bicep-file
specifica il percorso del file Bicep (relativo al file bicepparam) a cui viene fatto riferimento nella dichiarazione using
.
format
Il comando format
formatta un file Bicep. Ha la stessa funzione del collegamento SHIFT+ALT+F
in Visual Studio Code.
az bicep format --file main.bicep
generate-params
Il comando generate-params
compila un file di parametri dal file Bicep specificato, aggiorna se è presente un file di parametri esistente.
az bicep generate-params --file main.bicep --output-format bicepparam --include-params all
Il comando crea un file di parametri Bicep denominato main.bicepparam. Il file di parametri contiene tutti i parametri nel file Bicep, se configurati con valori predefiniti o meno.
az bicep generate-params --file main.bicep --outfile main.parameters.json
Il comando crea un file di parametri denominato main.parameters.json. Il file dei parametri contiene solo i parametri senza valori predefiniti configurati nel file Bicep.
installazione
Il comando install
aggiunge l'interfaccia della riga di comando di Bicep all'ambiente locale. Per altre informazioni, vedere Installare gli strumenti Bicep. Questo comando è disponibile solo tramite l'interfaccia della riga di comando di Azure.
Per installare la versione più recente, usare:
az bicep install
Per installare una versione specifica:
az bicep install --version v0.3.255
jsonrpc
Il jsonrpc
comando abilita l'esecuzione dell'interfaccia della riga di comando di Bicep con un'interfaccia JSON-RPC, consentendo l'interazione a livello di codice con l'output strutturato ed evitando ritardi di avvio a freddo durante la compilazione di più file. Questa configurazione supporta anche la creazione di librerie per interagire con i file Bicep a livello di codice in linguaggi non-.NET.
Il formato di collegamento per l'invio e la ricezione di input/output è delimitato dall'intestazione, usando la struttura seguente, dove \r
e \n
rappresentano i caratteri ritorno a capo e avanzamento riga:
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
<length>
è la lunghezza della<message>
stringa, incluso l'oggetto\r\n\r\n
finale.<message>
è il messaggio JSON non elaborato.
Ad esempio:
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
Il messaggio seguente mostra un esempio per la versione di Bicep.
Input:
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }
L'output è:
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Per i metodi e i corpi di richiesta/risposta disponibili, vedere ICliJsonRpcProtocol.cs
.
Per un esempio di definizione di una connessione JSONRPC e dell'interazione con i file Bicep a livello di codice tramite Node, vedere jsonrpc.test.ts
.
Utilizzo per named pipe
Usare la sintassi seguente per connettersi a una named pipe esistente come client JSONRPC.
bicep jsonrpc --pipe <named_pipe>`
<named_pipe>
è una named pipe esistente a cui connettere il client JSONRPC.
Per connettersi a una named pipe in OSX/Linux:
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
Per connettersi a una named pipe in Windows:
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Per altri esempi, vedere C# e node.js.
Utilizzo per il socket TCP
Usare la sintassi seguente per connettersi a un socket TCP esistente come client JSONRPC.
bicep jsonrpc --socket <tcp_socket>
<tcp_socket>
è un numero di socket a cui connettere il client JSONRPC.
Per connettersi a un socket TCP
bicep jsonrpc --socket 12345
Utilizzo per stdin e stdout
Usare la sintassi seguente per eseguire l'interfaccia JSONRPC usando stdin & stdout per i messaggi.
bicep jsonrpc --stdio
lint
Il comando lint
restituisce gli errori e le violazioni della regola linter di un file Bicep.
az bicep lint --file main.bicep
Se il file Bicep include un modulo che fa riferimento a un registro esterno, il comando lint chiama automaticamente il ripristino. Il comando Ripristino ottiene il file dal Registro di sistema e lo archivia nella cache locale.
Nota
Il comando Ripristino non aggiorna la cache. Per altre informazioni, vedere ripristino.
Per non chiamare automaticamente il ripristino, usare l'opzione --no-restore
:
az bicep lint --no-restore <bicep-file>
Il processo lint con l'opzione --no-restore
ha esito negativo se uno dei moduli esterni non è già memorizzato nella cache:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Quando viene visualizzato questo errore, eseguire prima il comando lint
senza l'opzione --no-restore
o eseguire bicep restore
.
list-versions
Il comando list-versions
restituisce tutte le versioni disponibili dell'interfaccia della riga di comando di Bicep. Usare questo comando per verificare se si vuole aggiornare o installare una nuova versione. Questo comando è disponibile solo tramite l'interfaccia della riga di comando di Azure.
az bicep list-versions
Il comando restituisce una matrice di versioni disponibili.
[
"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"
]
Pubblica...
Il comando publish
aggiunge un modulo a un registro. Il Registro Azure Container deve esistere e la pubblicazione dell'account nel Registro di sistema deve disporre delle autorizzazioni corrette. Per altre informazioni sulla configurazione di un registro dei moduli, vedere Usare il Registro di sistema privato per i moduli Bicep. Per pubblicare un modulo, l'account deve disporre del profilo corretto e delle autorizzazioni per accedere al Registro di sistema. È possibile configurare la precedenza del profilo e delle credenziali per l'autenticazione nel Registro di sistema nel file di configurazione Bicep.
Dopo aver pubblicato il file nel Registro di sistema, è possibile farvi riferimento in un modulo.
Per usare il comando publish, è necessario avere l'interfaccia della riga di comando di Bicep versione 0.14.X o successiva. Per usare il parametro --documentationUri
/-d
, è necessario avere l'interfaccia della riga di comando di Bicep versione 0.14.X o successiva.
Per pubblicare un modulo in un registro, usare:
az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Ad esempio:
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
Il comando publish
non riconosce gli alias specificati in un file bicepconfig.json. Specificare il percorso completo del modulo.
Avviso
La pubblicazione nella stessa destinazione sovrascrive il modulo precedente. È consigliabile incrementare la versione durante l'aggiornamento.
ripristinare
Quando il file Bicep usa moduli pubblicati in un Registro di sistema, il comando restore
ottiene copie di tutti i moduli necessari dal Registro di sistema. Archivia tali copie in una cache locale. Un file Bicep può essere compilato solo quando i file esterni sono disponibili nella cache locale. In genere, l'esecuzione del ripristino non è necessaria perché viene attivata automaticamente dal processo di compilazione.
Per ripristinare i moduli esterni nella cache locale, l'account deve disporre del profilo corretto e delle autorizzazioni per accedere al Registro di sistema. È possibile configurare la precedenza del profilo e delle credenziali per l'autenticazione nel Registro di sistema nel file di configurazione Bicep.
Per usare il comando ripristino, è necessario avere l'interfaccia della riga di comando di Bicep versione 0.4.X o successiva. Questo comando è attualmente disponibile solo quando si chiama direttamente l'interfaccia della riga di comando di Bicep. Non è attualmente disponibile tramite il comando dell'interfaccia della riga di comando di Azure.
Per ripristinare manualmente i moduli esterni per un file, usare:
az bicep restore --file <bicep-file> [--force]
Il file Bicep specificato è il file da distribuire. Deve contenere un modulo che si collega a un registro. Ad esempio, è possibile ripristinare il file seguente:
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
La cache locale si trova in:
In Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
In Linux
/home/<username>/.bicep
Su Mac
~/.bicep
Il comando restore
non aggiorna la cache se un modulo è già memorizzato nella cache. Per aggiornare la cache, è possibile eliminare il percorso del modulo dalla cache oppure usare l'opzione --force
con il comando restore
.
upgrade
Il comando upgrade
aggiorna la versione installata con la versione più recente. Questo comando è disponibile solo tramite l'interfaccia della riga di comando di Azure.
az bicep upgrade
versione
Il comando version
restituisce la versione installata.
az bicep version
Il comando mostra il numero di versione.
Bicep CLI version 0.22.6 (d62b94db31)
Per chiamare questo comando direttamente tramite l'interfaccia della riga di comando di Bicep, usare:
bicep --version
Se l'interfaccia della riga di comando di Bicep non è stata installata, verrà visualizzato un messaggio di errore che informa che l'interfaccia della riga di comando di Bicep non è stata trovata.
Passaggi successivi
Per informazioni sulla distribuzione di un file Bicep, vedere: