Usar o GitHub Copilot com a CLI do Desenvolvedor do Azure

A CLI para Desenvolvedores do Azure (azd) integra-se ao GitHub Copilot para fornecer estruturação de projeto assistida por IA durante azd init e solução inteligente de problemas de erro quando os comandos falham.

Ao executarazd init, azd apresenta uma opção Configurar com o GitHub Copilot (versão prévia). Se selecionado, o Copilot analisará sua base de código e gerará, modelos azure.yamlde infraestrutura e configuração de implantação com base na linguagem, estrutura e dependências do código. O init alimentado por Copilot dá suporte a projetos novos e existentes.

Quando um azd comando falha, azd pode usar Copilot para analisar o erro, sugerir uma correção e, opcionalmente, aplicá-lo automaticamente.

Pré-requisitos

Para usar esses recursos, você precisa:

  • azd 1.23.11 ou posterior – Execute azd version para verificar ou azd update para obter a última versão.
  • Acesso do GitHub Copilot – uma assinatura ativa do GitHub Copilot (Individual, Business ou Enterprise).
  • CLI do GitHub (gh)azd verifica e solicita automaticamente o logon, se necessário.
  • CLI do GitHub (gh)Instale a CLI do GitHub. azd verifica automaticamente a gh autenticação e solicita logon, se necessário.

Estruturar um projeto com Copilot e azd init

O exemplo a seguir demonstra como usar a inicialização da Copilot para estruturar um projeto de API Express com uma dependência do PostgreSQL.

Antes de fazer alterações, o fluxo executa verificações de pré-vôo. Ele verifica se o diretório de trabalho do git esteja limpo, para que nenhum trabalho pendente fique em risco. Ele também solicita o consentimento antecipado da ferramenta de servidor MCP (Model Context Protocol) para que você possa examinar quais ferramentas o Copilot acessa.

  1. Execute azd init e selecione Configurar com o GitHub Copilot (versão prévia):

    azd init
    # Select: "Set up with GitHub Copilot (Preview)"
    
  2. O Copilot examina sua estrutura de projeto e detecta a estrutura Express e a dependência do PostgreSQL dos arquivos do projeto.

  3. Copilot determina o tipo apropriado host (containerapp) e language (js) para o serviço.

  4. O Copilot gera um azure.yaml com a configuração de serviço correta.

  5. O Copilot cria módulos Bicep para Azure Container Apps e Azure Database for PostgreSQL baseadas nas dependências detectadas.

  6. Examine e aprove os arquivos gerados antes de serem gravados em disco.

Após a conclusão do scaffolding, configure e implante o projeto executando azd up como normalmente:

azd up

Para obter mais informações sobre o azd up fluxo de trabalho, consulte Explorar o fluxo de trabalho do azd up.

Solução de problemas de erro assistida por IA

Quando um azd comando falha, azd pode usar Copilot para analisar o erro e sugerir uma correção. O Copilot usa a configuração do projeto e os detalhes do erro para fornecer solução de problemas específica de contexto diretamente em seu terminal. Você pode escolher entre várias opções interativas, configurar um comportamento padrão ou permitir que o Copilot corrija e tente novamente.

Opções de solução de problemas do Copilot

Quando um comando falha, azd exibe um prompt interativo com quatro opções. Use as teclas de direção para selecionar uma opção e pressione Enter:

  • Explicar – Obtenha uma explicação em linguagem simples do que deu errado.
  • Diretrizes : receba instruções passo a passo para corrigir o problema.
  • Diagnóstico e Guia – Obtenha etapas de solução de problemas sobre o que aconteceu, por que o erro aconteceu e como corrigi-lo. Permitir que o Copilot aplique uma correção (com sua aprovação) e, opcionalmente, repita o comando com falha.
  • Ignorar – Dispensar e lidar com o erro manualmente.
? How would you like to proceed?  [Use arrows to move, type to filter]
> Explain
  Guidance
  Diagnose and Guide
  Skip

O Copilot usa a configuração do projeto, o comando que falhou e os detalhes do erro para fornecer sugestões específicas à sua situação.

Definir um comportamento padrão de tratamento de erros

Se você preferir usar a mesma opção consistentemente, defina uma opção padrão com azd config para ignorar o prompt interativo.

azd config set copilot.errorHandling.category troubleshoot

Valores disponíveis para copilot.errorHandling.category:

Value Comportamento
explain Obtenha automaticamente uma explicação em linguagem simples.
guidance Obtenha automaticamente instruções de correção passo a passo.
troubleshoot Diagnosticar e orientar automaticamente.
fix Aplique automaticamente uma correção.
skip Sempre ignore a solução de problemas do Copilot.

Você também pode habilitar a correção automática e tentar novamente, de modo que o Copilot aplique a correção e execute novamente o comando com falha automaticamente:

azd config set copilot.errorHandling.fix allow

Para redefinir para o prompt interativo padrão, remova a configuração:

azd config unset copilot.errorHandling.category

Erros comuns de implantação do Azure em que o Copilot ajuda

Os exemplos a seguir mostram erros comuns de implantação do Azure e como a solução de problemas assistida pelo Copilot ajuda você a resolvê-los.

MissingSubscriptionRegistration — provedor de recursos não registrado

Uma primeira implantação em uma assinatura pode falhar com:

ERROR: deployment failed: MissingSubscriptionRegistration:
The subscription is not registered to use namespace 'Microsoft.App'.

O Azure exige que os provedores de recursos sejam registrados antes que você possa criar determinados tipos de recursos. Se essa implantação do Aplicativo de Contêiner for a primeira implantação em uma determinada assinatura, Microsoft.App ainda não está registrada. A opção Solução de problemas pode registrar o provedor e executar a implantação novamente automaticamente.

SkuNotAvailable / OperationNotAllowed — Limites de cota ou SKU

Você pode encontrar um erro de disponibilidade de SKU:

ERROR: deployment failed: SkuNotAvailable:
The requested VM size 'Standard_D2s_v3' is not available in location 'westus'.

Ou uma variante de cota:

ERROR: deployment failed: OperationNotAllowed:
Operation results in exceeding quota limits of Core.
Maximum allowed: 4, Current in use: 4, Additional requested: 2.

Esses erros são comuns quando uma região está restrita à capacidade ou sua assinatura atinge seu limite de vCPU. A opção Explicar do Copilot esclarece qual SKU ou cota está bloqueada e Diretrizes sugerem regiões alternativas ou tamanhos de VM (Máquina Virtual) disponíveis ou mostra como solicitar um aumento de cota.

StorageAccountAlreadyTaken — colisão de nomes globalmente única

ERROR: deployment failed: StorageAccountAlreadyTaken:
The storage account named 'myappstorage' is already taken.

Os nomes de conta de armazenamento devem ser exclusivos em todo o Azure. Copilot sugere atualizar o parâmetro Bicep ou a variável de ambiente azure.yaml com um nome exclusivo, geralmente acrescentando o nome do ambiente ou um sufixo aleatório, e depois tentar novamente a implantação.

Solicitar ajuda

Para obter informações sobre como arquivar um bug, solicitar ajuda ou propor um novo recurso para a CLI do Desenvolvedor do Azure, visite a página troubleshooting e suporte.