Udostępnij za pośrednictwem


FAQ dotyczące błędów CLI dla dewelopera Azure

Ten artykuł zawiera rozwiązania typowych błędów, które mogą wystąpić podczas korzystania z interfejsu wiersza polecenia dewelopera Azure (azd).

Autoryzacja nie powiodła się dla zapisu przypisania roli

Komunikat o błędzie: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: Nie masz wystarczających uprawnień do przypisywania ról w docelowej subskrypcji Azure lub grupie zasobów. Jest to typowe, gdy konto użytkownika ma Contributor dostęp, ale nie ma Owner lub User Access Administrator dostępu. Contributor umożliwia tworzenie zasobów, ale nie przyznawanie uprawnień (przypisywanie ról) do tych zasobów.

Rozwiązanie: Upewnij się, że twoje konto ma rolę Właściciel lub Administrator dostępu do użytkowników w subskrypcji lub grupie zasobów, do której wdrażasz. Jeśli nie możesz uzyskać tych ról, poproś administratora o wykonanie początkowego wdrożenia lub przypisania ról. Aby uzyskać więcej informacji, zobacz Wbudowane role w Azure.

Przypisana rola już istnieje

Komunikat o błędzie:The role assignment already exists.

Przyczyna: Ten błąd występuje, gdy wdrażanie próbuje utworzyć przypisanie roli, które już istnieje w zasobie. Chociaż wdrożenia Azure Resource Manager (ARM) są idempotentne, niektóre konfiguracje lub warunki wyścigu w szablonach mogą wyzwalać ten błąd podczas ponownego wdrażania.

Rozdzielczość: Ten błąd jest często sporadycznie lub łagodny.

  1. Ponów próbę wdrożenia: Uruchom azd up lub azd deploy ponownie.
  2. Sprawdź szablony Bicep: Jeśli utrzymujesz szablon, upewnij się, że przypisania ról używają prawidłowych właściwości name (często ściśle deterministycznych identyfikatorów GUID) w celu zapewnienia idempotencji. Użyj funkcji guid() Bicep, aby wygenerować nazwy deterministyczne.

Nie można zaktualizować identyfikatora dzierżawy, identyfikatora głównego podmiotu lub zakresu

Komunikat o błędzie:Tenant ID, application ID, principal ID, and scope are not allowed to be updated.

Przyczyna: Próbujesz ponownie wdrożyć przypisanie roli z właściwościami, które różnią się od istniejącego przypisania. Przypisania ról są niezmienne; nie można zmienić identyfikatora podmiotu (użytkownika lub aplikacji, które otrzymują rolę) ani zakresu istniejącego identyfikatora przypisania.

Rozwiązanie:

  1. Sprawdź parametry: Upewnij się, że nie przekazujesz przypadkowo innego identyfikatora głównego podmiotu (na przykład przełączając się między użytkownikiem a głównym podmiotem usługi) dla tego samego zasobu przypisania roli.
  2. Czyszczenie: Jeśli musisz zmienić przypisanie, usuń ręcznie konfliktowe przypisanie roli w portalu Azure lub za pomocą interfejsu wiersza polecenia przy użyciu az role assignment delete, a następnie ponownie wdróż.

Pojemność regionu lub jednostka SKU jest niedostępna

Komunikat o błędzie:The region 'eastus2' currently does not have enough resources available to provision services with the SKU 'standard'. (lub "basic")

Cause: Wybrany region Azure jest tymczasowo poza pojemnością dla żądanej jednostki SKU usługi. Jest to obecnie powszechne w przypadku usług sztucznej inteligencji (takich jak Azure OpenAI) w popularnych regionach, takich jak eastus2.

Rozwiązanie:

  1. Zmień lokalizację: Uruchom polecenie azd env set AZURE_LOCATION <new-region> , aby przełączyć się do regionu o lepszej dostępności (na przykład swedencentral, , westus3francecentral).
  2. Check availability: Użyj Azure Products by Region lub uruchom az account list-locations, aby sprawdzić regiony, w których są dostępne usługi i jednostki SKU.

Przekroczono kwotę TPM dla modeli sztucznej inteligencji

Komunikat o błędzie:This operation require <amount> new capacity in quota Tokens Per Minute (thousands) - <model> - GlobalStandard, which is bigger than the current available capacity <available>.

Cause: Twoja subskrypcja osiągnęła limit przydziału tokenów na minutę (TPM) dla określonego modelu Azure OpenAI w regionie docelowym.

Rozwiązanie:

  1. Zażądaj limitu przydziału: Wnioskuj o zwiększenie limitu za pośrednictwem Azure AI Studio lub portalu Azure. Aby uzyskać więcej informacji, zobacz Zarządzanie limitem przydziału Azure OpenAI Service.
  2. Zmień modele/region: Przejdź do regionu, w którym masz nieużywany limit przydziału lub użyj innej wersji modelu, która mieści się w granicach limitów.

If-Match: przedwarunek nie został spełniony

Komunikat o błędzie:The specified precondition 'If-Match = ""&lt;guid&gt;""' failed.

Przyczyna: Problem ten zwykle wskazuje na konflikt współbieżności. Dwa procesy mogą próbować zaktualizować ten sam zasób jednocześnie lub stan lokalny nie jest zsynchronizowany z zasobem w chmurze (nieaktualny element ETag).

Rozdzielczość: Ponów próbę wykonania operacji. Jeśli błąd nadal występuje:

  1. Upewnij się, że żadne inne wdrożenia (potoki ciągłej integracji/ciągłego wdrażania, inni współpracownicy) są przeznaczone dla tego samego środowiska jednocześnie.
  2. Jeśli używasz Bicep, sprawdź, czy szablon poprawnie definiuje zależności (dependsOn), aby zapobiec modyfikacjom równoległym dla tego samego zasobu.

Konto „Cognitive Services” o statusie Zaakceptowane

Komunikat o błędzie:Call to Microsoft.CognitiveServices/accounts failed. Error message: Account <resourceId> in state Accepted.

Cause: Ten błąd jest problemem z chronometrażem, w którym zasób zależny próbuje wchodzić w interakcję z kontem usług Cognitive Services (Azure AI), zanim zostanie on w pełni aprowizowany i aktywny. Możesz również dodać hak polecenia (na przykład postprovision) w azure.yaml, aby wstrzymać lub sprawdzić gotowość zasobów przed kontynuowaniem.

Termin rewizji aplikacji kontenera wygasł

Komunikat o błędzie:Failed to provision revision for container app <appName>. Error details: Operation expired.

Cause: Nie można uruchomić aplikacji kontenera Azure w domyślnym przedziale czasu. Typowe przyczyny:

  • Obraz kontenera jest za duży i jego ściąganie trwa zbyt długo.
  • Aplikacja ulega awarii podczas uruchamiania.
  • Nasłuchiwanie skonfigurowanego portu przez aplikację trwa zbyt długo.

Rozwiązanie:

  1. Check Logs: Wyświetl dzienniki kontenera w portalu Azure (strumień dzienników) lub użyj azd monitor, aby sprawdzić, czy aplikacja ulega awarii.
  2. Przejrzyj konfigurację:targetPort Upewnij się, że element w konfiguracji jest zgodny z portem, na który nasłuchuje aplikacja. Aby uzyskać więcej kroków rozwiązywania problemów, zobacz Troubleshooting Azure Container Apps
  3. Check Logs: Wyświetl dzienniki kontenera w portalu Azure (strumień dzienników) lub użyj azd monitor, aby sprawdzić, czy aplikacja ulega awarii.
  4. Przejrzyj konfigurację:targetPort Upewnij się, że element w konfiguracji jest zgodny z portem, na który nasłuchuje aplikacja.
  5. Optymalizowanie obrazu: Zmniejsz rozmiar obrazu kontenera, aby przyspieszyć ściąganie.