Compartilhar via


Perguntas frequentes sobre erros da CLI do desenvolvedor Azure

Este artigo fornece soluções para erros comuns que você pode encontrar ao usar a CLI do Desenvolvedor do Azure (azd).

Falha na autorização para gravação de atribuição de função

Mensagem de erro:The template deployment failed with error: 'Authorization failed for template resource '<guid>' of type 'Microsoft.Authorization/roleAssignments'. The client '##Email##' with object id '<guid>' does not have permission to perform action 'Microsoft.Authorization/roleAssignments/write' at scope '<resourceId>'.'

Cause: Você não tem permissões suficientes para atribuir funções no grupo de recursos ou assinatura de Azure de destino. Isso é comum quando sua conta de usuário tem Contributor acesso, mas não Owner ou User Access Administrator acesso. Contributor permite que você crie recursos, mas não conceda permissões (atribuir funções) a esses recursos.

Resolução: Verifique se sua conta tem a função Proprietário ou Administrador de Acesso de Usuário na assinatura ou no grupo de recursos em que você está implantando. Se não puderem atribuir a você essas funções, peça a um administrador para realizar a implantação inicial ou as atribuições de função para você. Para obter mais informações, consulte funções internas do Azure.

A atribuição de função já existe

Mensagem de erro:The role assignment already exists.

Causa: Esse erro ocorre quando a implantação tenta criar uma atribuição de função que já existe no recurso. Embora as implantações do Azure Resource Manager (ARM) sejam idempotentes, determinadas configurações ou condições de corrida em modelos podem causar esse erro ao reimplantar.

Resolução: Esse erro geralmente é intermitente ou benigno.

  1. Tente novamente a implantação: Executar azd up ou azd deploy novamente.
  2. Verifique os modelos do Bicep: Se você mantiver o modelo, verifique se as atribuições de função usam propriedades válidas name (geralmente GUIDs estritamente determinísticos) para garantir a idempotência. Use a função guid() Bicep para gerar nomes determinísticos.

ID do locatário, ID do principal ou escopo não permitido ser atualizado

Mensagem de erro:Tenant ID, application ID, principal ID, and scope are not allowed to be updated.

Causa: Você está tentando reimplantar uma atribuição de função com propriedades que diferem da atribuição existente. As atribuições de função são imutáveis; você não pode alterar a ID do principal (o usuário/aplicativo que recebe a função) ou o escopo de uma ID de atribuição existente.

Resolução :

  1. Verificar parâmetros: Certifique-se de que não está passando acidentalmente um ID de principal diferente (por exemplo, alternando entre um usuário e um principal de serviço) para o mesmo recurso de atribuição de função.
  2. Clean up: Se precisar alterar a atribuição, exclua manualmente a atribuição de função conflitante no portal Azure ou por meio da CLI usando az role assignment delete e reimplante.

Capacidade de região ou SKU indisponível

Mensagem de erro:The region 'eastus2' currently does not have enough resources available to provision services with the SKU 'standard'. (ou 'básico')

Cause: A região de Azure selecionada está temporariamente fora da capacidade do SKU de serviço solicitado. Atualmente, isso é comum com serviços de IA (como Azure OpenAI) em regiões populares como eastus2.

Resolução :

  1. Alterar o local: Execute azd env set AZURE_LOCATION <new-region> para alternar para uma região com melhor disponibilidade (por exemplo, swedencentral, , westus3). francecentral
  2. Marque a disponibilidade: use a página Azure Produtos por Região ou execute az account list-locations para verificar se há regiões em que o serviço e o SKU estão disponíveis.

Cota do TPM excedida para modelos de IA

Mensagem de erro:This operation require <amount> new capacity in quota Tokens Per Minute (thousands) - <model> - GlobalStandard, which is bigger than the current available capacity <available>.

Cause: Sua assinatura atingiu seu limite de cota para Tokens por Minuto (TPM) para o modelo OpenAI Azure especificado na região de destino.

Resolução :

  1. Request Quota: Solicitar um aumento de cota por meio do Azure AI Studio ou do portal Azure. Para obter mais informações, consulte Manage Azure OpenAI Service quota.
  2. Alterar modelos/região: Alterne para uma região em que você tenha cota não utilizada ou use uma versão de modelo diferente que se ajuste aos seus limites.

falha na pré-condição If-Match

Mensagem de erro:The specified precondition 'If-Match = ""&lt;guid&gt;""' failed.

Causa: Esse problema normalmente indica um conflito de simultaneidade. Dois processos podem estar tentando atualizar o mesmo recurso simultaneamente ou seu estado local está fora de sincronia com o recurso de nuvem (ETag obsoleto).

Resolução: Repita a operação. Se o erro persistir:

  1. Verifique se nenhuma outra implantação (pipelines de CI/CD, outros colegas) está direcionando o mesmo ambiente simultaneamente.
  2. Se estiver usando Bicep, verifique se o modelo define corretamente as dependências (dependsOn) para evitar modificações paralelas no mesmo recurso.

Conta dos Serviços Cognitivos no estado Aceito

Mensagem de erro:Call to Microsoft.CognitiveServices/accounts failed. Error message: Account <resourceId> in state Accepted.

Cause: Esse erro é um problema de tempo em que um recurso dependente tenta interagir com a conta dos Serviços Cognitivos (Azure IA) antes de ser totalmente provisionado e ativo. Você também pode adicionar um gancho de comando (por exemplo, postprovision) no seu azure.yaml para pausar ou verificar se o recurso está pronto antes de continuar.

Provisionamento de revisão de aplicativo de contêiner expirado

Mensagem de erro:Failed to provision revision for container app <appName>. Error details: Operation expired.

Cause: O aplicativo contêiner Azure não foi iniciado dentro do período de tempo limite padrão. Os motivos comuns incluem:

  • A imagem do contêiner é muito grande e demora muito para ser baixada.
  • O aplicativo falha na inicialização.
  • O aplicativo leva muito tempo para escutar na porta configurada.

Resolução :

  1. Check Logs: Exibir os logs de contêiner no portal do Azure (Fluxo de Log) ou usando azd monitor para ver se o aplicativo está falhando.
  2. Examinar configuração: Verifique se a targetPort na sua configuração corresponde à porta que seu aplicativo ouve. Para obter mais etapas de solução de problemas, consulte Troubleshooting Azure Container Apps
  3. Check Logs: Exibir os logs de contêiner no portal do Azure (Fluxo de Log) ou usando azd monitor para ver se o aplicativo está falhando.
  4. Examinar configuração: Verifique se a targetPort na sua configuração corresponde à porta que seu aplicativo ouve.
  5. Otimizar imagem: Reduza o tamanho da imagem do contêiner para acelerar o pull.