Saat penyebaran sumber daya Azure gagal menggunakan templat Azure Resource Manager (templat ARM) atau file Bicep, dan kode kesalahan diterima. Artikel ini menjelaskan cara menemukan kode galat sehingga Anda dapat memecahkan masalah. Untuk informasi selengkapnya tentang kode galat, lihat kesalahan penyebaran umum.
Jenis kesalahan
Ada dua jenis kesalahan yang terkait dengan penyebaran:
Kesalahan validasi terjadi sebelum penyebaran dimulai dan disebabkan oleh kesalahan sintaks dalam file Anda. Editor kode seperti Visual Studio Code dapat mengidentifikasi kesalahan ini.
Kesalahan validasi pra-penerbangan terjadi saat perintah penyebaran dijalankan tetapi sumber daya tidak disebarkan. Kesalahan ini ditemukan tanpa memulai penyebaran. Misalnya, jika nilai parameter tidak benar, kesalahan ditemukan dalam validasi sebelum penerbangan.
Kesalahan penyebaran terjadi selama proses penyebaran dan hanya dapat ditemukan dengan menilai progres penyebaran di lingkungan Azure Anda.
Kedua jenis kesalahan tersebut mengembalikan kode kesalahan yang Anda gunakan untuk memecahkan masalah penyebaran. Validasi dan kesalahan pra-penerbangan ditampilkan di log aktivitas tetapi tidak muncul di riwayat penyebaran Anda. File Bicep dengan kesalahan sintaks tidak dikompilasi ke dalam JSON dan tidak ditampilkan di log aktivitas.
Templat divalidasi selama proses penyebaran dan kode galat ditampilkan. Sebelum menjalankan penyebaran, Anda dapat mengidentifikasi kesalahan pra-penerbangan dan validasi dengan menjalankan tes validasi dengan Azure PowerShell atau Azure CLI.
Templat ARM dapat disebarkan dari portal. Jika templat memiliki galat sintaksis, Anda akan melihat kesalahan validasi saat mencoba menjalankan penyebaran. Untuk informasi selengkapnya tentang penyebaran portal, lihat sebarkan sumber daya dari templat kustom.
Contoh berikut mencoba menyebarkan akun penyimpanan dan terjadi kesalahan validasi.
Pilih pesan untuk mengetahui detail selengkapnya. Templat memiliki galat sintaksis dengan kode galat InvalidTemplate. Ringkasan menunjukkan ekspresi kekurangan kurung penutup.
Output menampilkan kode galat seperti InvalidTemplateDeployment atau AccountNameInvalid yang dapat Anda gunakan untuk memecahkan masalah dan memperbaiki templat.
Untuk file Bicep, output untuk masalah validasi sintaks menunjukkan kesalahan parameter.
Test-AzResourceGroupDeployment: Cannot retrieve the dynamic parameters for the cmdlet.
Cannot find path '/tmp/11111111-1111-1111-1111-111111111111/main.json' because it does not exist.
Untuk mendapatkan informasi pemecahan masalah selengkapnya, gunakan perintah build Bicep. Output menunjukkan setiap baris dan nomor kolom kesalahan dalam tanda kurung, dan pesan kesalahan.
bicep build main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Cakupan lainnya
Terdapat cmdlet Azure PowerShell untuk memvalidasi template penyebaran untuk cakupan langganan, grup manajemen, dan penyewa.
az deployment group validate \
--resource-group examplegroup \
--template-file azuredeploy.json
Output menampilkan kode galat seperti InvalidTemplateDeployment atau AccountNameInvalid yang dapat Anda gunakan untuk memecahkan masalah dan memperbaiki templat.
Untuk file Bicep, output menunjukkan setiap baris dan nomor kolom kesalahan dalam tanda kurung, dan pesan kesalahan.
az deployment group validate \
--resource-group examplegroup \
--template-file main.bicep
/azuredeploy.bicep(22,51) : Error BCP064: Found unexpected tokens in interpolated expression.
/azuredeploy.bicep(22,51) : Error BCP004: The string at this location is not terminated due to an
unexpected new line character.
Cakupan lainnya
Terdapat perintah Azure CLI untuk memvalidasi template penyebaran untuk cakupan langganan, grup manajemen, dan penyewa.
Beberapa operasi diproses untuk menyebarkan sumber daya Azure. Kesalahan penyebaran terjadi saat operasi lulus validasi tetapi gagal selama penyebaran. Anda dapat melihat pesan tentang setiap operasi penyebaran dan setiap penyebaran untuk grup sumber daya.