Comandos de la CLI de Bicep
En este artículo se describen los comandos que puede usar en la CLI de Bicep. Tiene dos opciones para ejecutar estos comandos: mediante el uso de la CLI de Azure o mediante la invocación directa de comandos de la CLI de Bicep. Cada método requiere un proceso de instalación distinto. Para más información, consulte Instalación de la CLI de Azure e Instalar Azure PowerShell.
En este artículo se muestra cómo ejecutar los comandos en la CLI de Azure. Cuando se ejecuta a través de la CLI de Azure, se inician los comandos con az
. Si no usa la CLI de Azure, ejecute los comandos sin az
al principio del comando. Por ejemplo, az bicep build
se convierte en bicep build
y az bicep version
se convierte en bicep --version
.
build
El comando build
convierte un archivo de Bicep en una plantilla de Azure Resource Manager (plantilla de ARM). Normalmente, no es necesario ejecutar este comando, ya que se ejecuta automáticamente al implementar un archivo de Bicep. Ejecútelo manualmente cuando quiera ver el JSON de la plantilla de ARM que se crea a partir del archivo de Bicep.
El uso de cualquiera de las siguientes características de Bicep habilita automáticamente la generación de código de la versión 2.0 del lenguaje:
- tipos definidos por el usuario
- funciones definidas por el usuario
- importaciones en tiempo de compilación
- características experimentales
En el ejemplo siguiente se convierte un archivo de Bicep denominado main.bicep en una plantilla de ARM denominada main.json. El nuevo archivo se crea en el mismo directorio que el archivo de Bicep.
az bicep build --file main.bicep
En el ejemplo siguiente se guarda main.json en otro directorio.
az bicep build --file main.bicep --outdir c:\jsontemplates
En el ejemplo siguiente se especifica el nombre y la ubicación del archivo que se va a crear.
az bicep build --file main.bicep --outfile c:\jsontemplates\azuredeploy.json
Para imprimir el archivo en stdout
, use:
az bicep build --file main.bicep --stdout
Si el archivo Bicep incluye un módulo que hace referencia a un registro externo, el comando de compilación llama automáticamente a restore. El comando restore obtiene el archivo del registro y lo almacena en la memoria caché local.
Nota:
El comando restore no actualiza la caché. Para más información, consulte Comando restore.
Para no llamar a la restauración automáticamente, use el modificador --no-restore
:
az bicep build --no-restore <bicep-file>
Se produce un error en el proceso de compilación con el modificador --no-restore
si uno de los módulos externos aún no está almacenado en caché:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Cuando reciba este error, ejecute el comando build
sin el modificador --no-restore
o ejecute bicep restore
primero.
Para usar el modificador --no-restore
, debe tener la CLI de Bicep versión 0.4.X o posterior.
build-params
El comando build-params
compila un archivo .bicepparam en un archivo de parámetros JSON.
az bicep build-params --file params.bicepparam
Este comando convierte un archivo de parámetros params.bicepparam en un archivo de parámetros JSON params.json.
decompile
El comando decompile
convierte el JSON de la plantilla de ARM en un archivo de Bicep.
az bicep decompile --file main.json
El comando crea un archivo llamado main.bicep en el mismo directorio que main.json. Si main.bicep existe en el mismo directorio, use el modificador --force para sobrescribir el archivo Bicep existente.
Para más información sobre el uso de este comando, consulte Descompilación de JSON de plantilla de ARM en Bicep.
decompile-params
El comando decompile-params
descompila un archivo de parámetros JSON en un archivo de parámetros .bicepparam.
az bicep decompile-params --file azuredeploy.parameters.json --bicep-file ./dir/main.bicep
Este comando descompila un archivo de parámetros azuredeploy.parameters.json en un archivo azuredeploy.parameters.bicepparam. --bicep-file
especifica la ruta de acceso al archivo de Bicep (en relación con el archivo .bicepparam) al que se hace referencia en la declaración using
.
format
El comando format
da formato a un archivo de Bicep. Tiene la misma función que el acceso directo SHIFT+ALT+F
en Visual Studio Code.
az bicep format --file main.bicep
generate-params
El comando generate-params
compila el archivo de parámetros desde el archivo Bicep especificado y lo actualiza si hay un archivo parameters.json existente.
az bicep generate-params --file main.bicep --output-format bicepparam --include-params all
El comando crea un archivo de parámetros de Bicep denominado main.bicepparam. El archivo de parámetros contiene todos los parámetros del archivo Bicep, tanto si están configurados con valores predeterminados como si no.
az bicep generate-params --file main.bicep --outfile main.parameters.json
El comando crea un archivo de parámetros denominado main.parameters.json. El archivo de parámetros solo contiene los parámetros sin valores predeterminados configurados en el archivo Bicep.
instalar
El comando install
agrega la CLI de Bicep al entorno local. Para más información, consulte Instalación de herramientas de Bicep. Este comando solo está disponible a través de la CLI de Azure.
Para instalar la versión más reciente, use:
az bicep install
Para instalar una versión específica:
az bicep install --version v0.3.255
jsonrpc
El jsonrpc
comando permite ejecutar la CLI de Bicep con una interfaz JSON-RPC, lo que permite la interacción mediante programación con la salida estructurada y evitar retrasos de arranque en frío al compilar varios archivos. Esta configuración también admite la creación de bibliotecas para interactuar con archivos de Bicep mediante programación en non-.NET idiomas.
El formato de cable para enviar y recibir entradas y salidas está delimitado por encabezados, utilizando la siguiente estructura, donde \r
y \n
representan caracteres de retorno de carro y avance de línea:
Content-Length: <length>\r\n\r\n<message>\r\n\r\n
<length>
es la longitud de la<message>
cadena, incluido el final\r\n\r\n
.<message>
es el mensaje JSON sin formato.
Por ejemplo:
Content-Length: 72\r\n\r\n{"jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {}}\r\n\r\n
En el mensaje siguiente se muestra un ejemplo de la versión de Bicep.
La entrada:
{ "jsonrpc": "2.0", "id": 0, "method": "bicep/version", "params": {} }
Salida:
{ "jsonrpc": "2.0", "id": 0, "result": { "version": "0.24.211" } }
Para los métodos disponibles y cuerpos de solicitud/respuesta, consulte ICliJsonRpcProtocol.cs
.
Para obtener un ejemplo de establecimiento de una conexión JSONRPC e interacción con archivos de Bicep mediante programación mediante node, consulte jsonrpc.test.ts
.
Uso de canalización con nombre
Use la siguiente sintaxis para conectarse a una canalización con nombre existente como un cliente JSONRPC.
bicep jsonrpc --pipe <named_pipe>`
<named_pipe>
es una canalización con nombre existente a la que conectar el cliente JSONRPC.
Para conectarse a una canalización con nombre en OSX/Linux:
bicep jsonrpc --pipe /tmp/bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock
Para conectarse a una canalización con nombre en Windows :
bicep jsonrpc --pipe \\.\pipe\\bicep-81375a8084b474fa2eaedda1702a7aa40e2eaa24b3.sock`
Para obtener más ejemplos, consulte C# y node.js.
Uso del socket TCP
Use la siguiente sintaxis para conectarse a un socket TCP existente como un cliente JSONRPC.
bicep jsonrpc --socket <tcp_socket>
<tcp_socket>
es un número de socket al que conectar el cliente JSONRPC.
Para conectarse a un socket TCP
bicep jsonrpc --socket 12345
Uso de stdin y stdout
Use la siguiente sintaxis para ejecutar la interfaz JSONRPC mediante stdin & stdout para los mensajes.
bicep jsonrpc --stdio
lint
El comando lint
devuelve los errores y las infracciones de la regla de linter de un archivo de Bicep.
az bicep lint --file main.bicep
Si el archivo de Bicep incluyera un módulo que hiciese referencia a un registro externo, el comando de lint llamará automáticamente a restore. El comando restore obtiene el archivo del registro y lo almacena en la memoria caché local.
Nota:
El comando restore no actualiza la caché. Para más información, consulte Comando restore.
Para no llamar a la restauración automáticamente, use el modificador --no-restore
:
az bicep lint --no-restore <bicep-file>
Se produce un error en el proceso de lint con el modificador --no-restore
si uno de los módulos externos aún no está almacenado en caché:
The module with reference "br:exampleregistry.azurecr.io/bicep/modules/storage:v1" has not been restored.
Cuando reciba este error, ejecute el comando lint
sin el modificador --no-restore
o ejecute bicep restore
primero.
list-versions
El comando list-versions
devuelve todas las versiones disponibles de la CLI de Bicep. Use este comando para ver si quiere actualizar o instalar una nueva versión. Este comando solo está disponible a través de la CLI de Azure.
az bicep list-versions
El comando devuelve una matriz de versiones disponibles.
[
"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"
]
Publicar
El comando publish
agrega un módulo a un registro. El registro de contenedor de Azure debe existir y la cuenta que se publica en el registro debe tener los permisos correctos. Para obtener más información sobre cómo configurar un registro de módulo, consulte Uso del registro privado para módulos de Bicep. Para publicar un módulo, la cuenta debe tener el perfil y los permisos correctos para acceder al registro. Puede configurar el perfil y la precedencia de credenciales para la autenticación en el registro en el archivo de configuración de Bicep.
Después de publicar el archivo en el registro, puede hacer referencia a él en un módulo.
Para usar el comando publish, debe tener la CLI de Bicep versión 0.14.X o posterior. Para usar el parámetro --documentationUri
/-d
, debe tener la CLI de Bicep versión 0.14.X o posterior.
Para publicar un módulo en un registro, use:
az bicep publish --file <bicep-file> --target br:<registry-name>.azurecr.io/<module-path>:<tag> --documentationUri <documentation-uri>
Por ejemplo:
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
El comando publish
no reconoce los alias especificados en un archivo bicepconfig.json. Proporcione la ruta de acceso completa del módulo.
Advertencia
La publicación en el mismo destino sobrescribe el módulo anterior. Se recomienda incrementar la versión al actualizar.
Restauración
Cuando el archivo Bicep usa módulos publicados en un registro, el comando restore
obtiene copias de todos los módulos necesarios del registro. Almacena esas copias en una caché local. Un archivo Bicep solo se puede crear cuando los archivos externos están disponibles en la memoria caché local. Normalmente, la ejecución de la restauración no es necesaria, ya que el proceso de compilación la desencadena automáticamente.
Para restaurar módulos externos en la caché local, la cuenta debe tener el perfil y los permisos correctos para acceder al registro. Puede configurar el perfil y la precedencia de credenciales para la autenticación en el registro en el archivo de configuración de Bicep.
Para usar el comando restore, debe tener la CLI de Bicep versión 0.4.X o posterior. Este comando solo está disponible actualmente al llamar directamente a la CLI de Bicep. Actualmente no está disponible a través de un comando de la CLI de Azure.
Para restaurar manualmente los módulos externos de un archivo, use:
az bicep restore --file <bicep-file> [--force]
El archivo Bicep que proporcione es el archivo que desea implementar. Debe contener un módulo que se vincula a un registro. Por ejemplo, puede restaurar el siguiente archivo:
module stgModule 'br:exampleregistry.azurecr.io/bicep/modules/storage:v1' = {
name: 'storageDeploy'
params: {
storagePrefix: 'examplestg1'
}
}
La caché local se encuentra en:
En Windows
%USERPROFILE%\.bicep\br\<registry-name>.azurecr.io\<module-path\<tag>
En Linux
/home/<username>/.bicep
En Mac
~/.bicep
El comando restore
no actualiza la caché si un módulo ya está almacenado en caché. Para actualizar la caché, puede eliminar de ella la ruta de acceso del módulo o usar el modificador --force
con el comando restore
.
upgrade
El comando upgrade
actualiza la versión instalada a la versión más reciente. Este comando solo está disponible a través de la CLI de Azure.
az bicep upgrade
version
El comando version
devuelve la versión instalada.
az bicep version
El comando muestra el número de versión.
Bicep CLI version 0.22.6 (d62b94db31)
Para llamar a este comando directamente a través de la CLI de Bicep, use:
bicep --version
Si la CLI de Bicep no se hubiera instalado, encontrará un mensaje de error indicando que no se encontró la misma.
Pasos siguientes
Para información sobre la implementación de un archivo de Bicep, consulte: