Compartir vía


Administración de extensiones de la CLI de Azure: instalación, actualización y eliminación

La CLI de Azure ofrece la posibilidad de cargar extensiones. Las extensiones de la CLI de Azure se caracterizan como ruedas de Python que no se incluyen como parte de la CLI, pero que se ejecutan como comandos de la CLI. Con las extensiones, obtiene acceso a comandos experimentales y de versión preliminar junto con la capacidad de escribir sus propias interfaces de la CLI. En este artículo se explica cómo administrar las extensiones y se da respuesta a preguntas comunes sobre su uso.

Búsqueda de extensiones

Para ver las extensiones de la CLI de Azure proporcionadas y mantenidas por Microsoft, use el comando az extension list-available .

az extension list-available --output table

También hospedamos una lista de extensiones en el sitio de documentación.

Instalación de extensiones

Instalación manual de extensiones

Después de encontrar una extensión para instalarla, use az extension add para instalarla. Si la extensión aparece en la salida de az extension list-available, puede instalarla por nombre.

az extension add --name <extension-name>

Si la extensión es de un recurso externo o dispone de un vínculo directo a ella, proporcione la dirección URL de origen o la ruta de acceso local. La extensión debe ser un archivo de rueda de Python compilado.

az extension add --source <URL-or-path>

También puede compilar un índice de extensión privada siguiendo el formato en index.jsony, a continuación, establecer la dirección URL del índice de extensión usada por la CLI de Azure a partir de la versión 2.20.0. Después, puede instalar la extensión por su nombre desde el índice de extensiones privado.

az config set extension.index_url=<URL>
az extension add --name <extension-name>

Después de instalar una extensión, aparece bajo el valor de la $AZURE_EXTENSION_DIR variable de shell. Si esta variable no se establece, la ubicación predeterminada es $HOME/.azure/cliextensions en Linux y macOS y %USERPROFILE%\.azure\cliextensions en Windows.

Instalación automática de extensiones

Al ejecutar un comando de extensión que no está instalado, la CLI de Azure puede reconocer el comando que ejecuta e instalar automáticamente la extensión a partir de la versión 2.10.0. Esta característica, conocida como instalación dinámica, está habilitada de forma predeterminada a partir de la versión 2.12.0. También puede habilitarlo a través de la configuración de versiones anteriores admitidas.

az config set extension.use_dynamic_install=yes_prompt

Utilice el siguiente comando de configuración para habilitar la instalación dinámica sin aviso.

az config set extension.use_dynamic_install=yes_without_prompt

Use el siguiente comando de configuración para desactivar la característica de instalación dinámica para revertir al comportamiento predeterminado. El comando de extensión devuelve un error de comando no encontrado si la extensión no está instalada.

az config set extension.use_dynamic_install=no

De forma predeterminada, un comando de extensión que solicita una instalación dinámica continúa ejecutándose después de instalar la extensión. Puede cambiar el comportamiento predeterminado y hacer que el comando salga sin volver a ejecutar configurando la propiedad run_after_dynamic_install a no.

az config set extension.run_after_dynamic_install=no

Actualización de extensiones

Si instala una extensión por nombre, actualícela mediante az extension update.

az extension update --name <extension-name>

De lo contrario, una extensión se puede actualizar desde el origen siguiendo las instrucciones de instalación de extensiones .

Si no puede usar la CLI para resolver un nombre de extensión, desinstale la extensión e intente reinstalarla. La extensión también puede formar parte de la CLI base. Actualice la CLI como se describe en Instalación de la CLI de Azure y compruebe si los comandos de la extensión están disponibles.

Cómo desinstalar extensiones

Si ya no necesita una extensión, quítelo con az extension remove.

az extension remove --name <extension-name>

También puede quitar manualmente una extensión eliminandola de la ubicación donde se instaló. La $AZURE_EXTENSION_DIR variable de shell define dónde se instalan los módulos. Si esta variable no está establecida, el valor predeterminado es $HOME/.azure/cliextensions en Linux y macOS y %USERPROFILE%\.azure\cliextensions en Windows.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Preguntas más frecuentes

Estas son algunas respuestas a otras preguntas comunes sobre las extensiones de la CLI.

¿Qué formatos de archivo se permiten para la instalación?

Actualmente, solo se pueden instalar ruedas de Python compiladas como extensiones.

¿Las extensiones pueden reemplazar los comandos existentes?

Sí. Las extensiones pueden reemplazar los comandos existentes, pero la CLI emite una advertencia antes de ejecutar un comando reemplazado.

¿Cómo puedo saber si una extensión está en versión preliminar?

La documentación y el control de versiones de una extensión muestran si se encuentra en versión preliminar. Microsoft suele publicar comandos en versión preliminar como extensiones de la CLI, con la opción de moverlos al producto principal de la CLI más adelante. Cuando los comandos se mueven fuera de las extensiones, se debe desinstalar la extensión anterior.

¿Las extensiones pueden depender entre sí?

No. Dado que la CLI no garantiza un orden de carga, es posible que no se cumplan las dependencias. Quitar una extensión no afecta a otras personas.

¿Se actualizan las extensiones junto con la CLI?

No. Las extensiones deben actualizarse por separado, como se describe en Extensiones de actualización.

¿Cómo desarrollar nuestra propia extensión?

Consulte el repositorio oficial para obtener más ayuda. Azure/azure-cli-extensions