Pertanyaan yang Sering Diajukan tentang Kesalahan CLI Pengembang di Azure

Artikel ini menyediakan solusi untuk kesalahan umum yang mungkin Anda temui saat menggunakan Azure Developer CLI (azd).

Otorisasi gagal untuk penulisan penetapan peran

Pesan kesalahan: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: Anda tidak memiliki izin yang memadai untuk menetapkan peran dalam langganan Azure target atau grup sumber daya. Ini umum terjadi ketika akun pengguna Anda memiliki Contributor akses tetapi tidak Owner atau User Access Administrator akses. Contributor memungkinkan Anda membuat sumber daya tetapi tidak memberikan izin (menetapkan peran) ke sumber daya tersebut.

Resolusi: Pastikan akun Anda memiliki peran Pemilik atau Administrator Akses Pengguna pada grup langganan atau sumber daya yang Anda sebarkan. Jika Anda tidak dapat diberikan peran ini, minta administrator untuk melakukan penyebaran awal atau penetapan peran untuk Anda. Untuk informasi selengkapnya, lihat peran bawaan Azure.

Penetapan peran sudah ada

Pesan kesalahan:The role assignment already exists.

Penyebab: Kesalahan ini terjadi ketika penyebaran mencoba membuat penugasan peran yang sudah ada pada sumber daya. Meskipun penyebaran Azure Resource Manager (ARM) idempoten, konfigurasi tertentu atau kondisi balapan dalam templat dapat memicu kesalahan ini saat digunakan kembali.

Resolusi: Kesalahan ini sering terjadi sesekali atau tidak berbahaya.

  1. Coba lagi penyebaran: Jalankan azd up atau azd deploy lagi.
  2. Periksa templat Bicep: Jika Anda memelihara templat, pastikan penetapan peran menggunakan properti "name" yang valid (seringkali GUID yang bersifat deterministik ketat) untuk memastikan idempotensi. Gunakan fungsi guid() Bicep untuk menghasilkan nama deterministik.

ID penyewa, ID utama, atau cakupan tidak diizinkan untuk diperbarui

Pesan kesalahan:Tenant ID, application ID, principal ID, and scope are not allowed to be updated.

Penyebab: Anda mencoba menerapkan ulang penugasan peran dengan properti yang berbeda dari penugasan yang sudah ada. Penetapan peran tidak dapat diubah; Anda tidak dapat mengubah ID utama (pengguna/aplikasi yang menerima peran) atau cakupan ID penugasan yang ada.

Resolusi:

  1. Verifikasi parameter: Pastikan Anda tidak secara tidak sengaja meneruskan ID utama yang berbeda (misalnya, beralih antara pengguna dan perwakilan layanan) untuk sumber daya penetapan peran yang sama.
  2. Clean up: Jika Anda perlu mengubah penugasan, hapus penetapan peran yang bertentangan secara manual di portal Azure atau melalui CLI menggunakan az role assignment delete, kemudian siapkan ulang.

Kapasitas wilayah atau SKU tidak tersedia

Pesan kesalahan:The region 'eastus2' currently does not have enough resources available to provision services with the SKU 'standard'. (atau 'dasar')

Cause: Wilayah Azure yang dipilih untuk sementara tidak memiliki kapasitas untuk SKU layanan yang diminta. Ini saat ini umum dengan layanan AI (seperti Azure OpenAI) di wilayah populer seperti eastus2.

Resolusi:

  1. Ubah lokasi: Jalankan azd env set AZURE_LOCATION <new-region> untuk beralih ke wilayah dengan ketersediaan yang lebih baik (misalnya, swedencentral, westus3, francecentral).
  2. Check availability: Gunakan halaman Azure Products by Region atau jalankan az account list-locations untuk memeriksa wilayah tempat layanan dan SKU tersedia.

Kuota TPM terlampaui untuk model AI

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

Cause: Langganan Anda telah mencapai batas kuota untuk Token Per Menit (TPM) untuk model Azure OpenAI yang ditentukan di wilayah target.

Resolusi:

  1. Request Kuota: Minta penambahan kuota melalui portal Azure AI Studio atau Azure. Untuk informasi selengkapnya, lihat Kelola kuota Azure OpenAI Service.
  2. Ubah Model/Wilayah: Beralih ke wilayah tempat Anda memiliki kuota yang tidak digunakan atau gunakan versi model lain yang sesuai dengan batas Anda.

Prasyarat If-Match tidak terpenuhi

Pesan kesalahan:The specified precondition 'If-Match = ""&lt;guid&gt;""' failed.

Menyebabkan: Masalah ini biasanya menunjukkan konflik konkurensi. Dua proses mungkin mencoba memperbarui sumber daya yang sama secara bersamaan, atau status lokal Anda tidak sinkron dengan sumber daya cloud (ETag basi).

Resolusi: Coba lagi operasi. Jika kesalahan berlanjut:

  1. Pastikan tidak ada penyebaran lain (pipeline CI/CD, rekan kerja lain) yang menargetkan lingkungan yang sama pada waktu yang bersamaan.
  2. Jika menggunakan Bicep, verifikasi bahwa templat Anda mendefinisikan dependensi dengan benar (dependsOn) untuk mencegah modifikasi paralel ke sumber daya yang sama.

Akun Cognitive Services dalam status Diterima

Pesan kesalahan:Call to Microsoft.CognitiveServices/accounts failed. Error message: Account <resourceId> in state Accepted.

Cause: Kesalahan ini adalah masalah waktu di mana sumber daya dependen mencoba berinteraksi dengan akun Cognitive Services (Azure AI) sebelum sepenuhnya disediakan dan aktif. Anda juga dapat menambahkan kait perintah (misalnya, postprovision) di Anda azure.yaml untuk menjeda atau memeriksa kesiapan sumber daya sebelum melanjutkan.

Provisi revisi aplikasi kontainer kedaluwarsa

Pesan kesalahan:Failed to provision revision for container app <appName>. Error details: Operation expired.

Cause: Aplikasi Kontainer Azure gagal dimulai dalam periode batas waktu default. Alasan umum termasuk:

  • Gambar kontainer terlalu besar dan membutuhkan waktu terlalu lama untuk ditarik.
  • Aplikasi mengalami crash saat startup.
  • Aplikasi ini membutuhkan waktu terlalu lama untuk mendengarkan port yang dikonfigurasi.

Resolusi:

  1. Check Logs: Lihat log kontainer di portal Azure (Aliran Log) atau menggunakan azd monitor untuk melihat apakah aplikasi mengalami crash.
  2. Tinjau Konfigurasi:targetPort Pastikan bahwa konfigurasi Anda sesuai dengan port yang didengarkan aplikasi Anda. Untuk langkah-langkah pemecahan masalah lainnya, lihat Troubleshooting Azure Container Apps
  3. Check Logs: Lihat log kontainer di portal Azure (Aliran Log) atau menggunakan azd monitor untuk melihat apakah aplikasi mengalami crash.
  4. Tinjau Konfigurasi: Pastikan bahwa konfigurasi Anda sesuai dengan port yang didengarkan oleh aplikasi Anda.
  5. Optimalkan Gambar: Kurangi ukuran gambar kontainer Anda untuk mempercepat penarikan.