Partilhar via


Gerenciar extensões da CLI do Azure: instalar, atualizar e remover

A CLI do Azure oferece a capacidade de carregar extensões. As extensões para a CLI do Azure são caracterizadas como rodas Python que não são fornecidas como parte da CLI, mas executadas como comandos da CLI. Com extensões, você ganha acesso a comandos experimentais e de pré-lançamento, juntamente com a capacidade de escrever suas próprias interfaces CLI. Este artigo descreve como gerir as extensões e responde a perguntas comuns sobre a utilização das mesmas.

Como encontrar extensões

Para ver as extensões da CLI do Azure fornecidas e mantidas pela Microsoft, use o comando az extension list-available .

az extension list-available --output table

Também hospedamos uma lista de extensões no site de documentação.

Como instalar extensões

Instalar extensões manualmente

Depois de encontrar uma extensão para instalar, use az extension add para instalá-lo. Se a extensão aparecer na saída do az extension list-available, você pode instalá-lo pelo nome.

az extension add --name <extension-name>

Se a extensão for proveniente de um recurso externo ou se tiver uma ligação direta para a mesma, forneça o URL de origem ou o caminho local. A extensão deve ser um arquivo de roda Python compilado.

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

Você também pode criar um índice de extensão privado seguindo o formato em index.jsone, em seguida, definir a URL do índice de extensão usada pela CLI do Azure para ele a partir da versão 2.20.0. Depois disso, podes instalar a extensão pelo nome a partir do índice de extensões privadas.

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

Depois de instalar uma extensão, ela aparece sob o valor da variável shell $AZURE_EXTENSION_DIR . Se essa variável estiver desdefinida, o local padrão será $HOME/.azure/cliextensions no Linux e macOS e %USERPROFILE%\.azure\cliextensions no Windows.

Instalar extensões automaticamente

Quando você executa um comando de extensão que não está instalado, a CLI do Azure pode reconhecer o comando executado e instalar automaticamente a extensão para você a partir da versão 2.10.0. Esse recurso, conhecido como instalação dinâmica, é habilitado por padrão a partir da versão 2.12.0. Você também pode habilitá-lo através da configuração para versões anteriores suportadas.

az config set extension.use_dynamic_install=yes_prompt

Use o seguinte comando de configuração para habilitar a instalação dinâmica sem um prompt.

az config set extension.use_dynamic_install=yes_without_prompt

Use o seguinte comando de configuração para desativar o recurso de instalação dinâmica para reverter para o comportamento padrão. O comando de extensão retorna um erro de comando não encontrado se a extensão não estiver instalada.

az config set extension.use_dynamic_install=no

Por padrão, um comando de extensão que solicita uma instalação dinâmica continua a ser executado após a instalação da extensão. Você pode alterar o comportamento padrão e fazer com que o comando saia sem uma nova execução definindo a run_after_dynamic_install propriedade como no.

az config set extension.run_after_dynamic_install=no

Como atualizar extensões

Se você instalar uma extensão pelo nome, atualize-a usando az extension update.

az extension update --name <extension-name>

Caso contrário, uma extensão pode ser atualizada a partir do código-fonte seguindo as instruções de instalação de extensões .

Se você não puder usar a CLI para resolver um nome de extensão, desinstale a extensão e tente reinstalá-la. A extensão também pode fazer parte da CLI base. Atualize a CLI conforme descrito em Instalar a CLI do Azure e verifique se os comandos da extensão estão disponíveis.

Como desinstalar extensões

Se já não precisar de uma extensão, remova-a com az extension remove.

az extension remove --name <extension-name>

Você também pode remover uma extensão manualmente excluindo-a do local onde foi instalada. A $AZURE_EXTENSION_DIR variável shell define onde os módulos são instalados. Se esta variável não estiver definida, então, por predefinição, o valor é $HOME/.azure/cliextensions, no Linux e macOS, e %USERPROFILE%\.azure\cliextensions no Windows.

rm -rf $AZURE_EXTENSION_DIR/<extension-name>

Perguntas Frequentes

Aqui estão algumas respostas para outras perguntas comuns sobre extensões CLI.

Que formatos de ficheiro são permitidos para instalação?

Atualmente, apenas rodas Python compiladas podem ser instaladas como extensões.

As extensões podem substituir comandos existentes?

Sim. As extensões podem substituir comandos existentes, mas a CLI emite um aviso antes de executar um comando substituído.

Como posso saber se uma extensão está em pré-lançamento?

A documentação e o controle de versão de uma extensão mostram se ela está em pré-lançamento. A Microsoft geralmente libera comandos de visualização como extensões da CLI, com a opção de movê-los para o produto CLI principal mais tarde. Quando os comandos são movidos para fora das extensões, a extensão antiga deve ser desinstalada.

As extensões podem depender umas das outras?

Não. Como a CLI não garante uma ordem de carregamento, as dependências podem não ser satisfeitas. A remoção de uma extensão não afeta nenhuma outra.

As extensões são atualizadas junto com a CLI?

Não. As extensões devem ser atualizadas separadamente, conforme descrito em Atualizar extensões.

Como desenvolver a nossa própria extensão?

Consulte o repositório oficial para obter mais ajuda. Azure/azure-cli-extensions