Udostępnij przez


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 ułatwiają znalezienie, czy przekazujesz poprawne parametry, używając poprawnie funkcji szablonu i uzyskując oczekiwany zasób.

Wdrażanie szablonu rozwiązywania problemów

Poniższy szablon ARM i plik Bicep pobierają informacje z istniejącego konta magazynowego. 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 to obiekt zawierający nazwy i wartości właściwości konta przechowywania.

{
  "$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 Bicep użyj słowa kluczowego existing i uruchom wdrożenie z grupy zasobów, gdzie znajduje się konto magazynowe. Użyj scope aby uzyskać dostęp 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 nieprawidłowymi zależnościami, 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 program SQL Server). Jeśli masz pewność, że wdrożenie zasobów jest poprawne, dodaj zasób, który jest od niego zależny (na przykład usługa SQL Database). Gdy te dwa zasoby są poprawnie zdefiniowane, 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.

Dalsze kroki