Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menyediakan solusi untuk masalah umum yang mungkin muncul saat Anda menggunakan Azure Developer CLI (azd).
Dapatkan bantuan dan berikan umpan balik
Jika Anda tidak dapat menemukan apa yang Anda cari dalam artikel ini atau ingin memberikan umpan balik, Anda dapat memposting pertanyaan ke Diskusi CLI Pengembang Azure.
Anda juga dapat melaporkan bug dengan membuka Masalah GitHub di repositori GitHub Azure Developer CLI.
Menggunakan sakelar --debug
Jika Anda mengalami masalah tak terduga saat bekerja dengan azd
, jalankan ulang perintah dengan sakelar --debug
untuk aktivasi lebih banyak debugging dan output diagnostik.
azd up --debug
Anda juga dapat mengirim output penelusuran kesalahan ke file teks lokal untuk meningkatkan kegunaan. Pendekatan ini memungkinkan sistem pemantauan lain untuk menyerap debugging dan juga dapat berguna saat mengajukan masalah di GitHub.
Penting
Pastikan untuk meredaksi informasi sensitif apa pun saat mengirimkan log debug di GitHub atau menyimpannya ke sistem diagnostik lainnya.
azd deploy --debug > "<your-file-path>.txt"
.azure
Direktori
Azure Developer CLI mengasumsikan bahwa direktori apa pun yang disimpan di .azure
direktori adalah lingkungan Azure Developer CLI. Jangan jalankan perintah Azure Developer CLI dari direktori beranda pengguna yang menginstal Azure CLI.
Tidak masuk ke Azure atau token kedaluwarsa di Visual Studio
Setelah Anda menjalankan azd init -t <template-name>
di Visual Studio, Anda mendapatkan kesalahan berikut: "Untuk mengakses jarak jauh: repositori ini, Anda harus mengotorisasi ulang Aplikasi Visual Studio
OAuth ."
Solusi
Jalankan azd auth login
untuk memperbarui token akses.
Izin akun Azure yang diperbarui tidak di-refresh azd
Secara default, azd
cache kredensial dan izin Azure Anda. Jika akun Azure Anda diberi peran dan izin baru, atau ditambahkan ke lebih banyak langganan, perubahan ini mungkin tidak segera tercermin dalam azd
. Untuk memecahkan masalah ini, keluar dan masuk kembali ke azd
menggunakan perintah berikut:
azd auth logout
azd auth login
Ikuti perintah dari azd auth login
perintah untuk menyelesaikan proses masuk dan memperbarui kredensial cache Anda.
Batasan Cloud Shell untuk azd
Ada beberapa batasan untuk menjalankan azd
di Cloud Shell.
Dukungan Docker di Cloud Shell
Cloud Shell tidak mendukung menjalankan docker build
atau run
perintah karena daemon docker tidak berjalan. Untuk informasi selengkapnya, lihat Pemecahan Masalah Cloud Shell.
Penghentian otomatis Cloud Shell
Cloud Shell mungkin berhenti berfungsi selama penyebaran yang panjang atau tugas lain yang memakan waktu lama. Pastikan sesi tidak menjadi diam atau tidak aktif. Lihat Batas Penggunaan Cloud Shell.
Antarmuka Cloud Shell
Cloud Shell terutama merupakan antarmuka baris perintah dan memiliki lebih sedikit fitur daripada lingkungan pengembangan terintegrasi seperti Visual Studio Code.
Tidak dapat tersambung ke daemon Docker di Cloud Shell
Cloud Shell menggunakan kontainer untuk menghosting lingkungan shell Anda, sehingga tugas yang mengharuskan menjalankan daemon Docker tidak diizinkan.
Menginstal versi azd yang berbeda di Cloud Shell
Dalam beberapa kasus, mungkin perlu menginstal versi azd
yang berbeda daripada versi yang sudah dipakai di Cloud Shell. Untuk melakukan ini di bash:
- Jalankan
mkdir -p ~/bin
untuk memastikan bahwa~/bin
folder ada - Jalankan
mkdir -p ~/azd
untuk memastikan bahwa folder lokal~/azd
ada - Jalankan
curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --install-folder ~/azd --symlink-folder ~/bin --version <version>
(<version>
akan secara defaultstable
, tetapi versi rilis tertentu seperti1.0.0
juga dapat ditentukan).
Setelah diinstal, versi yang ditautkan secara simbolis di azd
diutamakan daripada versi yang ditautkan secara simbolis di ~/bin
.
Untuk kembali menggunakan versi azd
yang sudah diinstal pada Cloud Shell di bash:
- Jalankan
rm ~/bin/azd
- Jalankan
rm -rf ~/azd
Solusi
Gunakan host lain untuk melakukan tugas yang memerlukan daemon docker. Salah satu opsinya adalah menggunakan docker-machine, seperti yang dijelaskan dalam dokumentasi pemecahan masalah Cloud Shell .
Persyaratan CLI Azure Bicep
azd up
dan azd provision
memerlukan rilis terbaru Azure Bicep CLI. Anda mungkin mendapatkan pesan kesalahan berikut: "Kesalahan: gagal mengkompilasi templat bicep: gagal menjalankan build bicep modul Az PowerShell: kode keluar: 1, stdout: , stderr: PERINGATAN: Rilis Bicep baru tersedia: v0.4.1272."
Solusi
Sebelumnya, Bicep adalah prasyarat untuk menginstal dan menggunakan azd
.
azd
sekarang secara otomatis menginstal Bicep dalam cakupan lokal azd
(tidak secara global) dan masalah ini sekarang harus diselesaikan. Namun, jika Anda ingin menggunakan versi yang berbeda, Anda dapat mengatur variabel lingkungan: AZD_BICEP_TOOL_PATH
untuk menunjuk ke lokasi versi yang Anda butuhkan.
azd up
atau azd provision
gagal
Hal-hal kadang-kadang bisa bermasalah dengan azd up
atau azd provision
. Kesalahan umum meliputi:
- "Tidak dapat menyediakan sumber daya tertentu di wilayah Azure karena wilayah tersebut berada di luar kapasitas."
- "Penyedia sumber daya yang relevan tidak ada di wilayah tersebut."
Langkah-langkah pemecahan masalah mungkin berbeda, tergantung pada akar penyebabnya.
Solusi
Buka portal Azure.
Temukan grup sumber daya Anda, yaitu rg-your-environment-name<>.
Pilih Penyebaran untuk mendapatkan informasi selengkapnya.
Verifikasi bahwa Anda menentukan nama lingkungan yang sama dengan nama lingkungan Anda.
Buka tab Tindakan dari repositori GitHub yang terkena dampak dan selidiki file log dalam eksekusi alur untuk informasi selengkapnya.
Untuk sumber daya lain, lihat Memecahkan masalah kesalahan penyebaran Azure umum - Azure Resource Manager.
azd init
Memerlukan sudo
Sebelum azd version = azure-dev-cli_0.2.0-beta.1
, azd
akan membuat folder .azd
dengan akses drw-r--r--
.
Ini menyebabkan masalah, karena menggunakan versi ini atau versi sebelumnya pada pengaturan Linux apa pun (WSL, ssh-remote, devcontainer, dll.) sudah menyediakan .azd
folder dengan mode baca-saja.
Solusi
Hapus folder yang sudah disediakan
.azd
secara manual:rm -r ~/.azd
azd init
Jalankanazd
untuk membuat folder lagi dengan tingkat akses yang tepat.
azd monitor
untuk kontainer pengembangan
azd monitor
saat ini tidak didukung jika Anda menggunakan kontainer pengembangan sebagai lingkungan pengembangan Anda.
Tidak dapat mengautentikasi di lingkungan Codespaces
Jika Anda mengalami masalah autentikasi di Codespaces, pastikan templat Dockerfile menyertakan perintah sudo apt-get update && sudo apt-get install xdg-utils
. Perintah xdg-utils
membuka tab browser yang memungkinkan Anda masuk.
Static Web Apps gagal disebarkan meskipun pesan berhasil
Ada masalah yang diketahui saat menerapkan ke Azure Static Web Apps di mana output default azd up
dapat menyatakan tindakan berhasil, tetapi perubahan tidak benar-benar disebarkan. Anda dapat mendiagnosis masalah ini dengan menjalankan azd up
perintah dengan --debug
bendera diaktifkan. Dalam log output, Anda mungkin melihat pesan berikut:
Preparing deployment. Please wait...
An unknown exception has occurred
Anda kemungkinan besar mengalami masalah ini saat azd
dijalankan dari tindakan GitHub. Sebagai solusinya, setelah Anda membuat situs, salin staticwebapp.config.json
ke folder build. Anda dapat mengotomatiskan langkah ini dengan menggunakan hook perintah pra-paket atau pra-penyebaran, yang memungkinkan Anda menjalankan skrip kustom di berbagai titik dalam alur kerja perintah azd.
Tim produk berupaya menyelesaikan masalah ini.
Kesalahan GitHub Actions - "Tidak memiliki izin mendapatkan rahasia pada key vault"
Berbagi nama lingkungan atau grup sumber daya yang sama saat menyediakan sumber daya secara lokal dan di GitHub Actions dapat menghasilkan kesalahan Does not have secrets get permission on key vault..
dari layanan Key Vault. Key Vault tidak mendukung pembaruan izin bertahap melalui Bicep, yang secara efektif berarti alur kerja GitHub Actions menimpa izin Kebijakan Akses pengguna lokal.
Solusi yang direkomendasikan untuk masalah ini adalah menggunakan nama lingkungan terpisah untuk pengembangan lokal dan alur kerja GitHub Actions. Baca selengkapnya tentang menggunakan beberapa lingkungan dengan azd env
perintah di halaman FAQ.
Dukungan browser berbasis teks
Browser berbasis teks saat ini tidak didukung oleh azd monitor
.
azd pipeline config
menggunakan AzDo untuk templat Java di Windows
Anda mungkin mengalami kegagalan saat menjalankan templat AzDo untuk Java dengan azd pipeline config
di Windows. Misalnya, Anda telah:
Jalankan yang berikut ini di Windows:
azd init --template Azure-Samples/todo-java-mongo azd pipeline config
Menerima pesan kesalahan berikut:
Solusi
Ini adalah masalah yang sudah diketahui. Saat kami mengatasi masalah ini, coba perintah berikut:
git update-index --chmod=+x src/api/mvnw && git commit -m "Fix executable bit permissions" && git push
failed packaging service 'api': failed invoking action 'package', failed to run NPM script build, signal: segmentation fault
kesalahan setelah pembaruan azd
pada Apple Silicon (M1/M2)
Dalam beberapa situasi, meng-upgrade dari versi x86_64 dari azd
ke biner ARM64 dapat mengakibatkan kegagalan pada templat yang telah dibangun dengan versi x86_64 dari azd
. Ini karena templat menggunakan versi v8-compile-cache
yang dapat mencoba memuat bytecode yang dibangun di bawah x86_64 ke dalam proses ARM64.
Untuk memperbaiki masalah ini, tingkatkan v8-compile-cache
paket dalam proyek yang terpengaruh:
- Ubah direktori ke layanan yang gagal (
src/api
dalam kasusfailed packaging service 'api'
) - Jalankan
npm upgrade v8-compile-cache
- Ubah direktori ke akar repositori dan jalankan
azd
perintah (misalnyaazd package
atauazd up
) lagi
azd pipeline config
kegagalan karena Kebijakan Akses Bersyarat
Saat menjalankan azd pipeline config
, Anda mungkin menerima kesalahan seperti berikut ini:
ERROR: failed to create or update service principal: failed retrieving application list, failed executing request: http call(https://login.microsoftonline.com/common/oauth2/v2.0/token)(POST) error: reply status code was 400:
{"error":"invalid_grant","error_description":"AADSTS50005: User tried to log in to a device from a platform (Unknown) that's currently not supported through Conditional Access policy. Supported device platforms are: iOS, Android, Mac, and Windows flavors.\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\nCorrelation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: 2022-12-16 21:10:37Z","error_codes":[50005],"timestamp":"2022-12-16 21:10:37Z","trace_id":"0000aaaa-11bb-cccc-dd22-eeeeee333333","correlation_id":"aaaa0000-bb11-2222-33cc-444444dddddd"}
Kesalahan ini terkait dengan pengaktifan Kebijakan Akses Bersyarat pada penyewa Microsoft Entra Anda. Kebijakan tertentu mengharuskan Anda masuk ke platform perangkat yang didukung.
Anda mungkin juga menerima kesalahan ini karena masuk menggunakan mekanisme kode perangkat, yang mencegah ID Microsoft Entra mendeteksi platform perangkat Anda dengan benar.
Solusi
Untuk mengonfigurasi alur kerja, Anda perlu memberikan izin GitHub guna menyebarkan ke Azure atas nama Anda. Otorisasi GitHub dengan membuat Principal Layanan Azure yang disimpan dalam rahasia GitHub bernama AZURE_CREDENTIALS
. Pilih host Codespace Anda untuk langkah-langkah:
Pastikan Anda menggunakan perangkat yang tercantum sebagai perangkat yang didukung, sesuai pesan kesalahan.
Jalankan
azd auth login
ulang dengan bendera--use-device-code=false
ditambahkan:azd auth login --use-device-code=false
Anda mungkin menerima kesalahan dengan pesan
localhost refused to connect
setelah masuk. Jika demikian:- Salin URL.
- Jalankan
curl '<pasted url>'
(URL dalam tanda kutip) di terminal Codespace baru.
Di terminal asli, login sekarang harus berhasil.
Setelah masuk, jalankan ulang
azd pipeline config
.
Dockerfile yang di-cache digunakan alih-alih Dockerfile saat ini
Saat menggunakan azd
di lingkungan pengembangan lokal Anda dengan Docker, Docker dapat menggunakan versi cache Dockerfile Anda alih-alih versi saat ini. Ini menghasilkan penyebaran menggunakan kontainer dengan informasi yang salah.
Solusi
Untuk mengonfigurasi penginstalan Docker lokal Anda, yang digunakan oleh Azure Developer CLI untuk membangun kontainer, Anda perlu mengonfigurasi Docker dengan variabel lingkungan berikut:
DOCKER_BUILDKIT=1
DOCKER_BUILD_ARGS="--no-cache"
Anda dapat mengubah azd up
untuk menyertakan pengaturan ini:
DOCKER_BUILDKIT=1 DOCKER_BUILD_ARGS="--no-cache" azd up
azd pipeline config
dukungan
azd pipeline config
saat ini tidak didukung dalam DevContainers/VS Code Remote Containers.
Dukungan metrik langsung untuk Python
Metrik Langsung (azd monitor --live
) saat ini tidak didukung untuk aplikasi Python. Untuk informasi selengkapnya, lihat Metrik Langsung: Memantau dan mendiagnosis dengan latensi 1 detik.
Membuat masalah GitHub untuk meminta bantuan
Azure Developer CLI dan ekstensi Azure Developer CLI Visual Studio Code menggunakan Masalah GitHub untuk melacak bug dan permintaan fitur. Silakan cari masalah yang ada sebelum mengajukan masalah baru untuk menghindari duplikat.
Untuk bantuan dan pertanyaan tentang penggunaan proyek ini, silakan lihat wiki kami untuk menggunakan Azure Developer CLI dan dokumen KONTRIBUSI kami jika Anda ingin berkontribusi.