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.
Untuk memecahkan masalah kesalahan penyebaran, Anda dapat mengaktifkan pengelogan debug untuk mendapatkan informasi selengkapnya. Pencatatan log debug berfungsi dalam penyebaran dengan file Bicep atau templat Azure Resource Manager (templat ARM). Anda bisa mendapatkan data tentang permintaan dan respons penyebaran untuk mengetahui penyebab dari suatu masalah.
Peringatan
Pencatatan debug dapat mengekspos rahasia seperti kata sandi atau listKeys operasi. Hanya aktifkan pencatatan debug ketika Anda perlu memecahkan masalah kesalahan dalam penyebaran. Setelah selesai men-debug, Anda harus menghapus riwayat penyebaran debug.
Menyiapkan pengelogan debug
Gunakan Azure PowerShell untuk mengaktifkan pencatatan debug yang mengisi properti request dan response dengan informasi penyebaran untuk pemecahan masalah. Pengelogan debug tidak dapat diaktifkan menggunakan Azure CLI.
Pengelogan debug hanya diaktifkan untuk templat ARM utama atau file Bicep. Jika Anda menggunakan templat ARM berlapis atau modul Bicep, lihat Men-debug templat berlapis.
Untuk penyebaran grup sumber daya, gunakan New-AzResourceGroupDeployment dan atur DeploymentDebugLogLevel parameter ke All, ResponseContent, atau RequestContent.
Saat log debug diaktifkan, sebuah peringatan ditampilkan bahwa rahasia seperti kata sandi atau operasi listKeys dapat dicatat dan ditampilkan saat Anda menggunakan perintah seperti Get-AzResourceGroupDeploymentOperation untuk mendapatkan informasi tentang operasi penyebaran.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
Output penyebaran menunjukkan tingkat pencatatan log debug.
DeploymentDebugLogLevel : RequestContent, ResponseContent
Parameter DeploymentDebugLogLevel tersedia untuk cakupan penyebaran lainnya: langganan, grup manajemen, dan penyewa.
Dapatkan informasi debug
Setelah pengelogan debug diaktifkan, Anda bisa mendapatkan informasi selengkapnya tentang operasi penyebaran. Cmdlet Azure PowerShell untuk operasi penyebaran tidak menampilkan properti request dan response. Anda perlu menggunakan Azure CLI untuk mendapatkan informasi dari properti tersebut.
Jika Anda tidak mengaktifkan pengelogan debug dari perintah penyebaran, Anda masih bisa mendapatkan informasi operasi penyebaran. Gunakan Azure PowerShell atau Azure CLI untuk mendapatkan kode status, pesan status, dan status provisi.
Untuk penyebaran grup sumber daya, gunakan Get-AzResourceGroupDeploymentOperation untuk mendapatkan operasi penyebaran.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Anda dapat menentukan properti, seperti StatusCode, StatusMessage, atau ProvisioningState untuk memfilter output.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Untuk informasi selengkapnya, lihat dokumentasi untuk cakupan operasi penyebaran: langganan, grup manajemen, dan penyewa.
- Get-AzDeploymentOperation
- Get-AzManagementGroupDeploymentOperation (Perintah untuk mendapatkan operasi penyebaran grup manajemen Azure)
- Get-AzTenantDeploymentOperation
Men-debug templat berlapis
Templat ARM utama dan templat berlapis memiliki nama penyebaran dan riwayat penyebaran mereka sendiri. File dan modul Bicep utama juga menggunakan nama penyebaran dan riwayat penyebaran terpisah.
Templat ARM
Untuk mencatat informasi debug untuk templat ARM berlapis , gunakan Microsoft.Resources/deployments dengan debugSetting properti .
Sampel berikut menunjukkan templat berlapis dengan debugSetting untuk mencatat permintaan dan respons penyebaran.
"resources": [
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "nestedTemplateDebug",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-05-01",
"name": "[variables('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[parameters('storageAccountType')]"
},
"kind": "StorageV2"
}
]
},
"debugSetting": {
"detailLevel": "requestContent, responseContent"
}
}
}
],
Templat ARM utama dan templat berlapis memiliki nama penyebaran dan riwayat penyebaran mereka sendiri. Jika Anda ingin properti request dan response berisi informasi pemecahan masalah, ketahui skenario penyebaran berikut:
- Properti
requestdanresponseberisi nilainulluntuk templat utama dan templat bersarang saatDeploymentDebugLogLeveltidak diaktifkan dengan perintah pendistribusian. - Saat perintah penyebaran mengaktifkan
DeploymentDebugLogLeveldanrequest, propertiresponsehanya berisi informasi pada templat utama. Properti templat yang tertindih berisi nilainull. - Saat templat berlapis menggunakan
debugSettingdan perintah penyebaran tidak menyertakanDeploymentDebugLogLevel, hanya penyebaran templat berlapis yang memiliki nilai untuk propertirequestdanresponse. Properti templat utama itu berisi nilainull. - Untuk mendapatkan
requestdanresponseuntuk templat utama dan templat berlapis, tentukanDeploymentDebugLogLeveldalam perintah penyebaran dan gunakandebugSettingdalam templat berlapis.
File Bicep
Rekomendasi untuk file Bicep adalah menggunakan modul daripada templat berlapis dengan Microsoft.Resources/deployments. Pesan status, kode status, dan status penyediaan akan menyertakan informasi untuk file utama Bicep dan modul yang dapat Anda gunakan untuk memecahkan masalah penyebaran.
Jika Anda mengaktifkan DeploymentDebugLogLevel dari perintah penyebaran, properti request dan properti response akan berisi informasi hanya untuk penyebaran file Bicep utama.
Menghapus riwayat penyebaran debug
Setelah selesai men-debug, Anda harus menghapus riwayat penyebaran untuk mencegah siapa pun yang memiliki akses melihat informasi sensitif yang mungkin telah dicatat. Untuk setiap nama penyebaran yang Anda gunakan selama proses debugging, jalankan perintah untuk menghapus riwayat penyebaran.
Untuk menghapus riwayat penyebaran untuk penyebaran grup sumber daya, gunakan Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
Perintah mengembalikan True jika berhasil.
Untuk informasi selengkapnya tentang riwayat penyebaran, lihat dokumentasi untuk cakupan penyebaran: langganan, grup manajemen, dan penyewa.
- Hapus-AzDeployment
- Remove-AzManagementGroupDeployment
- Remove-AzTenantDeployment