Tworzenie szablonu rozwiązywania problemów
W niektórych przypadkach najlepszym sposobem rozwiązywania problemów z szablonem jest odizolowanie i przetestowanie określonych części szablonu. Możesz utworzyć szablon rozwiązywania problemów, który koncentruje się na zasobie, który uważasz za przyczynę błędu.
Na przykład błąd występuje, gdy szablon wdrożenia odwołuje się do istniejącego zasobu. Zamiast oceniać cały szablon wdrożenia, utwórz szablon rozwiązywania problemów, który zwraca dane dotyczące zasobu. Dane wyjściowe pomagają określić, czy przekazujesz poprawne parametry, używając poprawnie funkcji szablonu i uzyskujesz oczekiwany zasób.
Wdrażanie szablonu rozwiązywania problemów
Poniższy szablon usługi ARM i plik Bicep pobierają informacje z istniejącego konta magazynu. Wdrożenie jest uruchamiane za pomocą polecenia Azure PowerShell New-AzResourceGroupDeployment lub interfejsu wiersza polecenia platformy Azure az deployment group create. Określ nazwę konta magazynu i grupę zasobów. Dane wyjściowe są obiektem z nazwami i wartościami właściwości konta magazynu.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageName": {
"type": "string"
},
"storageResourceGroup": {
"type": "string"
}
},
"variables": {},
"resources": [],
"outputs": {
"exampleOutput": {
"value": "[reference(resourceId(parameters('storageResourceGroup'), 'Microsoft.Storage/storageAccounts', parameters('storageName')), '2022-05-01')]",
"type": "object"
}
}
}
W aplikacji Bicep użyj słowa kluczowego existing
i uruchom wdrożenie z grupy zasobów, w której istnieje konto magazynu. Służy scope
do uzyskiwania dostępu do zasobu w innej grupie zasobów. Aby uzyskać więcej informacji, zobacz istniejące zasoby.
param storageName string
resource stg 'Microsoft.Storage/storageAccounts@2022-05-01' existing = {
name: storageName
}
output exampleOutput object = stg.properties
Alternatywna metoda rozwiązywania problemów
Jeśli uważasz, że błędy wdrażania są spowodowane przez nieprawidłowe zależności, możesz uruchomić testy, dzieląc szablon na uproszczone szablony. Najpierw utwórz szablon, który wdraża tylko jeden zasób (na przykład SQL Server). Jeśli masz pewność, że wdrożenie zasobów jest poprawne, dodaj zasób, który od niego zależy (na przykład SQL Database). Po poprawnym zdefiniowaniu tych dwóch zasobów dodaj inne zasoby zależne (takie jak zasady inspekcji). Między każdym wdrożeniem testowym usuń grupę zasobów, aby upewnić się, że odpowiednio testujesz zależności.