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 object
wartość , 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.
Zaloguj się w witrynie Azure Portal.
W menu po lewej stronie wybierz pozycję Grupy zasobów.
Wybierz wdrożona grupę zasobów.
W zależności od kroków, należy mieć co najmniej jedno i być może kilka kont magazynu w grupie zasobów.
Należy również mieć kilka pomyślnych wdrożeń wymienionych w historii. Wybierz ten link.
Wszystkie wdrożenia są widoczne w historii. Wybierz wdrożenie o nazwie addoutputs.
Możesz przejrzeć dane wejściowe.
Możesz przejrzeć dane wyjściowe.
Możesz przejrzeć szablon.
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.
- W Azure Portal wybierz pozycję Grupy zasobów z menu po lewej stronie.
- Wpisz nazwę grupy zasobów w polu tekstowym Filtruj dla dowolnego pola...
- Zaznacz pole wyboru obok pozycji myResourceGroup i wybierz pozycję myResourceGroup lub nazwę grupy zasobów.
- 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.