Compartir a través de


Comandos de la CLI de Bicep

En este artículo se describen los comandos que puede usar en la CLI de Bicep. Puede ejecutar estos comandos mediante la CLI de Azure o invocando directamente comandos de la CLI de Bicep. Cada método requiere un proceso de instalación distinto. Para más información sobre las instalaciones, consulte CLI de Azure y Azure PowerShell.

En esta guía se muestra cómo ejecutar los comandos en la CLI de Azure. Al ejecutar comandos en la CLI de Azure, inícielos con az. Si no usa la CLI de Azure, ejecute los comandos sin az al principio de cada uno. Por ejemplo, az bicep build se convierte en bicep build y az bicep version se convierte en bicep --version.

build

El build comando convierte un archivo de Bicep en una plantilla json 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 la plantilla de ARM JSON 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:

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 un directorio diferente:

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 de Bicep incluye un módulo que hace referencia a un registro externo, el build comando llama automáticamente a restore. El restore comando obtiene el archivo del Registro y lo almacena en la memoria caché local.

Nota:

El restore comando no actualiza la memoria 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" hasn't been restored.

Cuando reciba este error, ejecute el build comando sin el --no-restore modificador o ejecute bicep restore primero.

Para usar el --no-restore modificador, debe tener la VERSIÓN 0.4.X o posterior de la CLI de Bicep.

build-params

El build-params comando compila un .bicepparam archivo 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 decompile comando convierte una plantilla de ARM JSON en un archivo de Bicep:

az bicep decompile --file main.json

Este comando crea un archivo denominado 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 obtener más información sobre el uso de este comando, consulte Descompilar plantilla de ARM json en Bicep.

decompile-params

El decompile-params comando descompila un archivo de parámetros JSON en un .bicepparam archivo de parámetros.

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

Este comando descompila un archivo de parámetros de azuredeploy.parameters.json en un archivo azuredeploy.parameters.bicepparam . --bicep-file especifica la ruta de acceso al archivo de Bicep (relativo al archivo) al .bicepparam que se hace referencia en la using declaración.

format

El format comando 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

Este comando crea un archivo de parámetros de Bicep denominado main.bicepparam. El archivo de parámetros contiene todos los parámetros del archivo de Bicep, ya sea configurado con valores predeterminados o no.

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

Este 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 de Bicep.

install

El install comando agrega la CLI de Bicep al entorno local y solo está disponible a través de la CLI de Azure. Para más información, consulte Instalación de herramientas de Bicep.

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 cliente JSONRPC:

bicep jsonrpc --socket <tcp_socket>

<tcp_socket> es el número de socket al que se conecta el cliente JSONRPC.

Para conectarse a un socket TCP:

bicep jsonrpc --socket 12345

Uso de stdin y stdout

Use la sintaxis siguiente y stdin para stdout los mensajes para ejecutar la interfaz JSONRPC:

bicep jsonrpc --stdio

lint

El lint comando devuelve los errores y las infracciones de la regla linter de un archivo de Bicep.

az bicep lint --file main.bicep

Si el archivo de Bicep incluye un módulo que hace referencia a un registro externo, el lint comando llama automáticamente a restore. El restore comando obtiene el archivo del Registro y lo almacena en la memoria caché local.

Nota:

El restore comando no actualiza la memoria 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.

Debe tener la VERSIÓN 0.14.X de la CLI de Bicep o posterior para usar el publish comando y el --documentationUri/-d parámetro .

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 publish comando 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 restore comando , debe tener la VERSIÓN 0.14.X o posterior de la CLI de Bicep. En este momento, este comando solo está disponible al llamar directamente a la CLI de Bicep. Actualmente no está disponible a través 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 memoria caché, puede eliminar la ruta de acceso del módulo de la memoria caché o usar el --force modificador con el restore comando .

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 version comando 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 ha instalado, verá un mensaje de error que indica que no se encontró la CLI de Bicep.

Pasos siguientes

Para más información sobre la implementación de un archivo de Bicep, consulte: