Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby rozwiązać problem z błędem wdrażania, możesz włączyć rejestrowanie debugowania, aby uzyskać więcej informacji. Rejestrowanie debugowania działa w przypadku wdrożeń za pomocą plików Bicep lub szablonów Azure Resource Manager (ARM). Możesz uzyskać dane dotyczące żądania i odpowiedzi wdrożenia, aby zrozumieć przyczynę problemu.
Ostrzeżenie
Rejestrowanie debugowania może uwidaczniać wpisy tajne, takie jak hasła lub listKeys operacje. Włącz rejestrowanie debugowania tylko wtedy, gdy musisz rozwiązać problem z błędem wdrożenia. Po zakończeniu debugowania należy usunąć historię wdrażania debug.
Skonfiguruj logowanie debugowania
Użyj modułu Azure PowerShell, aby włączyć rejestrowanie debugowania, które wypełnia właściwości request i response informacjami o wdrożeniu na potrzeby rozwiązywania problemów. Nie można włączyć rejestrowania debugowania przy użyciu interfejsu wiersza polecenia platformy Azure.
Logowanie debugowania jest włączone tylko dla głównego szablonu ARM lub pliku Bicep. Jeśli używasz zagnieżdżonych szablonów usługi ARM lub modułów Bicep, zobacz Debuguj zagnieżdżony szablon.
W przypadku wdrożenia grupy zasobów użyj polecenia New-AzResourceGroupDeployment i ustaw DeploymentDebugLogLevel parametr na All, ResponseContentlub RequestContent.
Po włączeniu rejestrowania debugowania zostanie wyświetlone ostrzeżenie, że wpisy tajne, takie jak hasła lub listKeys operacje, mogą być rejestrowane i wyświetlane podczas używania poleceń, takich jak Get-AzResourceGroupDeploymentOperation uzyskiwanie informacji o operacjach wdrażania.
New-AzResourceGroupDeployment `
-Name exampledeployment `
-ResourceGroupName examplegroup `
-TemplateFile main.bicep `
-DeploymentDebugLogLevel All
Dane wyjściowe wdrożenia pokazują poziom rejestrowania debugowania.
DeploymentDebugLogLevel : RequestContent, ResponseContent
Parametr DeploymentDebugLogLevel jest dostępny dla innych zakresów wdrażania: subskrypcji, grupy zarządzania i dzierżawy.
Uzyskiwanie informacji o debugowaniu
Po włączeniu rejestrowania debugowania można uzyskać więcej informacji na temat operacji wdrażania. Polecenia cmdlet programu Azure PowerShell dla operacji wdrażania nie wyświetlają właściwości request i response. Aby uzyskać informacje z tych właściwości, musisz użyć interfejsu wiersza polecenia platformy Azure.
Jeśli nie włączysz rejestrowania debugowania z polecenia wdrożenia, nadal możesz uzyskać informacje o operacjach wdrażania. Użyj programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure, aby uzyskać kod stanu, komunikat o stanie i stan aprowizacji.
W przypadku wdrożenia grupy zasobów użyj polecenia Get-AzResourceGroupDeploymentOperation, aby uzyskać informacje o operacjach wdrożeniowych.
Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup
Możesz określić właściwość, na przykład StatusCode, StatusMessagelub ProvisioningState , aby filtrować dane wyjściowe.
(Get-AzResourceGroupDeploymentOperation `
-DeploymentName exampledeployment `
-ResourceGroupName examplegroup).StatusCode
Aby uzyskać więcej informacji, zobacz dokumentację dotyczącą zakresów operacji wdrażania: subskrypcji, grupy zarządzania i dzierżawy.
Debugowanie szablonu zagnieżdżonego
Główny szablon ARM i szablony zagnieżdżone mają własną nazwę wdrożenia i historię wdrożeń. Główny plik i moduł Bicep używają również oddzielnej nazwy wdrożenia i historii wdrożenia.
Szablon ARM
Aby rejestrować informacje debugowania dla zagnieżdżonego szablonu ARM, użyj Microsoft.Resources/deployments wraz z właściwością debugSetting.
W poniższym przykładzie pokazano zagnieżdżony szablon z elementem debugSetting , aby zarejestrować żądanie i odpowiedź wdrożenia.
"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"
}
}
}
],
Główny szablon ARM i szablony zagnieżdżone mają własną nazwę wdrożenia i historię wdrożeń. Jeśli chcesz, aby właściwości request i response zawierały informacje dotyczące rozwiązywania problemów, pamiętaj o następujących scenariuszach wdrażania:
- Właściwości
requestiresponsezawierająnullwartości dla głównego szablonu i szablonu zagnieżdżonego, gdyDeploymentDebugLogLevelnie jest włączone za pomocą polecenia wdrożenia. - Gdy polecenie wdrożenia włącza
DeploymentDebugLogLevelrequestwłaściwości iresponsezawiera tylko informacje dla głównego szablonu. Właściwości szablonu zagnieżdżonego mają wartościnull. - Gdy zagnieżdżony szablon używa
debugSetting, a polecenie wdrożenia nie zawieraDeploymentDebugLogLevel, tylko wdrożenie zagnieżdżonego szablonu ma wartości dla właściwościrequestiresponse. Właściwości głównego szablonu zawierają wartościnull. - Aby uzyskać
requestiresponsedla szablonu głównego i szablonu zagnieżdżonego, określDeploymentDebugLogLevelw poleceniu wdrożenia i użyjdebugSettingw szablonie zagnieżdżonym.
Plik Bicep
Zaleceniem dla plików Bicep jest używanie modułów, a nie zagnieżdżonych szablonów z użyciem Microsoft.Resources/deployments. Komunikat o stanie, kod stanu i stan aprowizacji będą zawierać informacje dotyczące głównego pliku Bicep i modułu, którego można użyć do rozwiązywania problemów z wdrożeniem.
Jeśli włączysz DeploymentDebugLogLevel z polecenia wdrożenia, właściwości request i response będą zawierać informacje tylko dla wdrożenia głównego pliku Bicep.
Usuń historię wdrożeń debugowania
Po zakończeniu debugowania należy usunąć historię wdrażania, aby uniemożliwić każdemu, kto ma dostęp do wyświetlania poufnych informacji, które mogły zostać zarejestrowane. Dla każdej nazwy wdrożenia użytej podczas debugowania uruchom polecenie , aby usunąć historię wdrażania.
Aby usunąć historię wdrożeń dla grupy zasobów, użyj polecenia Remove-AzResourceGroupDeployment.
Remove-AzResourceGroupDeployment -ResourceGroupName examplegroup -Name exampledeployment
Polecenie zwraca True po pomyślnym wykonaniu.
Aby uzyskać więcej informacji na temat historii wdrażania, zapoznaj się z dokumentacją zakresów wdrażania: subskrypcji, grupy zarządzania i dzierżawy.
- Remove-AzDeployment
- Remove-AzManagementGroupDeployment
- Remove-AzTenantDeployment