Udostępnij za pośrednictwem


Samouczek: dodawanie danych wyjściowych do szablonu usługi ARM

Z tego samouczka dowiesz się, jak zwrócić wartość z szablonu usługi Azure Resource Manager (szablon usługi ARM). Dane wyjściowe są używane, gdy potrzebujesz wartości wdrożonego zasobu. Ukończenie tego samouczka trwa 7 minut .

Wymagania wstępne

Zalecamy ukończenie samouczka dotyczącego zmiennych, ale nie jest to wymagane.

Musisz mieć Visual Studio Code z rozszerzeniem Resource Manager Tools oraz interfejsem Azure PowerShell lub interfejsem azure Command-Line (CLI). Aby uzyskać więcej informacji, zobacz narzędzia szablonów.

Przeglądanie szablonu

Na końcu poprzedniego samouczka szablon miał następujący kod JSON:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ]
}

Wdraża konto magazynu, ale nie zwraca żadnych informacji o nim. Może być konieczne przechwycenie właściwości z nowego zasobu, aby były dostępne później w celu uzyskania informacji.

Dodawanie danych wyjściowych

Za pomocą danych wyjściowych można zwracać wartości z szablonu. Przydatne może być na przykład pobranie punktów końcowych dla nowego konta magazynu.

Poniższy przykład wyróżnia zmianę szablonu w celu dodania wartości wyjściowej. Skopiuj cały plik i zastąp szablon jego zawartością.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "type": "string",
      "minLength": 3,
      "maxLength": 11
    },
    "storageSKU": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_RAGRS",
        "Standard_ZRS",
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GZRS",
        "Standard_RAGZRS"
      ]
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    }
  },
  "variables": {
    "uniqueStorageName": "[concat(parameters('storagePrefix'), uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('uniqueStorageName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageSKU')]"
      },
      "kind": "StorageV2",
      "properties": {
        "supportsHttpsTrafficOnly": true
      }
    }
  ],
  "outputs": {
    "storageEndpoint": {
      "type": "object",
      "value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
    }
  }
}

Istnieją pewne ważne elementy, które należy wziąć pod uwagę podczas dodawania wartości wyjściowej.

Typ zwracanej wartości jest ustawiony na objectwartość , co oznacza, że zwraca obiekt JSON.

Używa ona funkcji referencyjnej , aby uzyskać stan środowiska uruchomieniowego konta magazynu. Aby uzyskać stan środowiska uruchomieniowego zasobu, przekaż nazwę lub identyfikator zasobu. W takim przypadku użyjesz tej samej zmiennej, która została użyta do utworzenia nazwy konta magazynu.

Na koniec zwraca primaryEndpoints właściwość z konta magazynu.

Wdrażanie szablonu

Możesz przystąpić do wdrażania szablonu i przyjrzeć się zwróconej wartości.

Jeśli grupa zasobów nie została utworzona, zobacz Tworzenie grupy zasobów. W przykładzie przyjęto założenie, że zmienna templateFile została ustawiona na ścieżkę do pliku szablonu, jak pokazano w pierwszym samouczku.

New-AzResourceGroupDeployment `
  -Name addoutputs `
  -ResourceGroupName myResourceGroup `
  -TemplateFile $templateFile `
  -storagePrefix "store" `
  -storageSKU Standard_LRS

W danych wyjściowych polecenia wdrożenia zostanie wyświetlony obiekt podobny do poniższego przykładu tylko wtedy, gdy dane wyjściowe są w formacie JSON:

{
    "dfs": "https://storeluktbfkpjjrkm.dfs.core.windows.net/",
    "web": "https://storeluktbfkpjjrkm.z19.web.core.windows.net/",
    "blob": "https://storeluktbfkpjjrkm.blob.core.windows.net/",
    "queue": "https://storeluktbfkpjjrkm.queue.core.windows.net/",
    "table": "https://storeluktbfkpjjrkm.table.core.windows.net/",
    "file": "https://storeluktbfkpjjrkm.file.core.windows.net/"
}

Uwaga

Jeśli wdrożenie zakończy się niepowodzeniem, użyj przełącznika verbose , aby uzyskać informacje o tworzonych zasobach. Użyj przełącznika, debug aby uzyskać więcej informacji na temat debugowania.

Przejrzyj swoją pracę

Wiele udało Ci się wykonać w ostatnich sześciu samouczkach. Poświęćmy chwilę, aby przejrzeć, co zrobiono. Utworzono szablon z parametrami, które są łatwe do udostępnienia. Szablon jest wielokrotnego użytku w różnych środowiskach, ponieważ umożliwia dostosowywanie i dynamicznie tworzy potrzebne wartości. Zwraca również informacje o koncie magazynu, którego można użyć w skrycie.

Teraz przyjrzyjmy się grupie zasobów i historii wdrażania.

  1. Zaloguj się w witrynie Azure Portal.

  2. W menu po lewej stronie wybierz pozycję Grupy zasobów.

  3. Wybierz wdrożona grupę zasobów.

  4. W zależności od kroków, należy mieć co najmniej jedno i być może kilka kont magazynu w grupie zasobów.

  5. Należy również mieć kilka pomyślnych wdrożeń wymienionych w historii. Wybierz ten link.

    Zrzut ekranu przedstawiający Azure Portal przedstawiający link wdrożenia.

  6. Wszystkie wdrożenia są widoczne w historii. Wybierz wdrożenie o nazwie addoutputs.

    Zrzut ekranu przedstawiający Azure Portal historię wdrożenia.

  7. Możesz przejrzeć dane wejściowe.

    Zrzut ekranu przedstawiający Azure Portal przedstawiające dane wejściowe wdrożenia.

  8. Możesz przejrzeć dane wyjściowe.

    Zrzut ekranu przedstawiający Azure Portal przedstawiające dane wyjściowe wdrożenia.

  9. Możesz przejrzeć szablon.

    Zrzut ekranu przedstawiający Azure Portal przedstawiający szablon wdrożenia.

Czyszczenie zasobów

Jeśli przejdziesz do następnego samouczka, nie musisz usuwać grupy zasobów.

Jeśli zatrzymasz się teraz, możesz usunąć grupę zasobów.

  1. W Azure Portal wybierz pozycję Grupy zasobów z menu po lewej stronie.
  2. Wpisz nazwę grupy zasobów w polu tekstowym Filtruj dla dowolnego pola...
  3. Zaznacz pole wyboru obok pozycji myResourceGroup i wybierz pozycję myResourceGroup lub nazwę grupy zasobów.
  4. Wybierz pozycję Usuń grupę zasobów z górnego menu.

Następne kroki

W tym samouczku dodano wartość zwracaną do szablonu. W następnym samouczku dowiesz się, jak wyeksportować szablon i użyć części tego wyeksportowanego szablonu w szablonie.