Condividi tramite


Domande frequenti sugli errori dell'interfaccia della riga di comando per sviluppatori di Azure

Questo articolo fornisce soluzioni per errori comuni che possono verificarsi quando si usa l'interfaccia della riga di comando di Azure Developer (azd).

Autorizzazione non riuscita per la scrittura dell'assegnazione di ruolo

Messaggio di errore: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: Non si dispone di autorizzazioni sufficienti per assegnare ruoli nella sottoscrizione o nel gruppo di risorse di destinazione Azure. Questo è comune quando l'account utente ha accesso a Contributor ma non né a Owner né a User Access Administrator. Contributor consente di creare risorse, ma non di concedere autorizzazioni (assegnare ruoli) a tali risorse.

Risoluzione: Verificare che il tuo account abbia il ruolo Proprietario o Amministratore Accesso Utenti nella sottoscrizione o nel gruppo di risorse in cui si esegue la distribuzione. Se non è possibile concedere questi ruoli, chiedere a un amministratore di eseguire la distribuzione iniziale o le assegnazioni di ruolo. Per altre informazioni, vedere Ruoli predefiniti di Azure.

L'assegnazione di ruolo esiste già

Messaggio di errore:The role assignment already exists.

Causa: Questo errore si verifica quando la distribuzione tenta di creare un'assegnazione di ruolo già esistente nella risorsa. Mentre le distribuzioni di Azure Resource Manager (ARM) sono idempotenti, alcune configurazioni o race condition nei modelli possono attivare questo errore durante la ridistribuzione.

Risoluzione: Questo errore è spesso intermittente o non dannoso.

  1. Ripetere la distribuzione: Eseguire azd up o azd deploy di nuovo.
  2. Verifica i modelli Bicep: se si mantiene il modello, accertati che le assegnazioni di ruolo usino proprietà valide (spesso GUID deterministici) per garantire l'idempotenza. Usare la funzione guid() Bicep per generare nomi deterministici.

ID del tenant, ID principale o ambito non può essere aggiornato

Messaggio di errore:Tenant ID, application ID, principal ID, and scope are not allowed to be updated.

Causa: Si sta tentando di ridistribuire un'assegnazione di ruolo con proprietà diverse dall'assegnazione esistente. Le assegnazioni di ruolo non sono modificabili; non è possibile modificare l'ID entità (l'utente o l'app che riceve il ruolo) o l'ambito di assegnazione esistente.

Risoluzione:

  1. Verificare i parametri: Assicurarsi di non passare accidentalmente un ID dominio principale diverso, ad esempio passando da un utente a un servizio principale, per la stessa risorsa assegnata a un ruolo.
  2. Clean up: Se è necessario modificare l'assegnazione, eliminare manualmente l'assegnazione di ruolo in conflitto nel portale Azure o tramite l'interfaccia della riga di comando usando az role assignment delete, quindi ridistribuire.

Capacità dell'area o SKU non disponibile

Messaggio di errore:The region 'eastus2' currently does not have enough resources available to provision services with the SKU 'standard'. (o 'basic')

Cause: L'area di Azure selezionata non è temporaneamente in capacità per lo SKU del servizio richiesto. Questa operazione è attualmente comune con i servizi di intelligenza artificiale (ad esempio Azure OpenAI) in aree comuni come eastus2.

Risoluzione:

  1. Cambia posizione: Eseguire azd env set AZURE_LOCATION <new-region> per passare a un'area con una migliore disponibilità ( ad esempio , swedencentralwestus3, ). francecentral
  2. Verifica disponibilità: Usa la pagina Prodotti Azure per regione o esegui az account list-locations per verificare le regioni in cui il servizio e SKU sono disponibili.

Quota TPM superata per i modelli di intelligenza artificiale

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

Cause: La sottoscrizione ha raggiunto il limite di quota per token al minuto (TPM) per il modello OpenAI Azure specificato nell'area di destinazione.

Risoluzione:

  1. Request Quota: Richiedere un aumento della quota tramite il portale di Azure AI Studio o Azure. Per altre informazioni, vedere Gestire Azure OpenAI Service quota.
  2. Modificare modelli/area: Passare a un'area in cui la quota non è usata o usare una versione del modello diversa che rientra nei limiti.

If-Match precondizione non riuscita

Messaggio di errore:The specified precondition 'If-Match = ""&lt;guid&gt;""' failed.

Causa: Questo problema indica in genere un conflitto di concorrenza. È possibile che due processi tentino di aggiornare la stessa risorsa contemporaneamente o che lo stato locale non sia sincronizzato con la risorsa cloud (ETag non aggiornato).

Risoluzione: Ripetere l'operazione. Se l'errore persiste:

  1. Assicurarsi che nessun'altra implementazione (pipeline CI/CD, altri colleghi) venga destinata allo stesso ambiente simultaneamente.
  2. Se si usa Bicep, verificare che il modello definisca correttamente le dipendenze (dependsOn) per impedire modifiche parallele alla stessa risorsa.

Account di Servizi cognitivi in stato Accettato

Messaggio di errore:Call to Microsoft.CognitiveServices/accounts failed. Error message: Account <resourceId> in state Accepted.

Cause: Questo errore è un problema di tempistica in cui una risorsa dipendente tenta di interagire con l'account di Servizi cognitivi (Azure AI) prima che sia completamente provisionato e attivo. È anche possibile aggiungere un hook di comando ( ad esempio , postprovision) in azure.yaml per sospendere o verificare la disponibilità delle risorse prima di procedere.

Disponibilità della revisione dell'app contenitore scaduta

Messaggio di errore:Failed to provision revision for container app <appName>. Error details: Operation expired.

Cause: L'app contenitore Azure non è riuscita a avviarsi entro il periodo di timeout predefinito. I più comuni sono:

  • L'immagine del contenitore è troppo grande e richiede troppo tempo per eseguire il pull.
  • L'applicazione si arresta in modo anomalo all'avvio.
  • L'applicazione impiega troppo tempo ad ascoltare sulla porta configurata.

Risoluzione:

  1. Check Logs: Visualizzare i log del contenitore nel portale di Azure (Flusso di log) o usare azd monitor per verificare se l'app si arresta in modo anomalo.
  2. Esaminare la configurazione:targetPort Verificare che nella configurazione corrisponda alla porta su cui l'app è in ascolto. Per altre procedure di risoluzione dei problemi, vedere Troubleshooting Azure Container Apps
  3. Check Logs: Visualizzare i log del contenitore nel portale di Azure (Flusso di log) o usare azd monitor per verificare se l'app si arresta in modo anomalo.
  4. Esaminare la configurazione:targetPort Verificare che nella configurazione corrisponda alla porta su cui l'app è in ascolto.
  5. Ottimizza immagine: Riduci le dimensioni dell'immagine del contenitore per velocizzare il download.