Samouczek: używanie wyeksportowanego szablonu z Azure Portal
W tej serii samouczków utworzysz szablon do wdrożenia konta usługi Azure Storage. W dwóch następnych samouczkach dodasz plan App Service i witrynę internetową. Zamiast tworzyć szablony od podstaw, dowiesz się, jak eksportować szablony z Azure Portal i jak używać przykładowych szablonów z szablonów Szybkiego startu platformy Azure. Możesz dostosować te szablony do użycia. Ten samouczek koncentruje się na eksportowaniu szablonów i dostosowywaniu wyniku szablonu. Ukończenie tej instrukcji trwa 14 minut .
Wymagania wstępne
Zalecamy ukończenie samouczka dotyczącego danych wyjściowych, ale nie jest to wymagane.
Musisz mieć Visual Studio Code z rozszerzeniem Resource Manager Tools i interfejsem Azure PowerShell lub interfejsem platformy 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 plik 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
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Ten szablon dobrze sprawdza się w przypadku wdrażania kont magazynu, ale warto dodać do niego więcej zasobów. Szablon można wyeksportować z istniejącego zasobu, aby szybko uzyskać kod JSON dla tego zasobu.
Tworzenie planu usługi App Service
Zaloguj się w witrynie Azure Portal.
Wybierz pozycję Utwórz zasób.
W obszarze Usługi wyszukiwania i Witryna Marketplace wprowadź App Service Plan, a następnie wybierz pozycję plan App Service.
Wybierz przycisk Utwórz.
Na stronie Tworzenie planu App Service wprowadź następujące elementy:
- Subskrypcja: wybierz swoją subskrypcję platformy Azure z menu rozwijanego.
- Grupa zasobów: wybierz pozycję Utwórz nową , a następnie określ nazwę. Podaj inną nazwę grupy zasobów niż używana w tej serii samouczków.
- Nazwa: wprowadź nazwę planu App Service.
- System operacyjny: wybierz pozycję Linux.
- Region: wybierz lokalizację platformy Azure z menu rozwijanego, takiego jak Środkowe stany USA.
- Warstwa cenowa: aby zaoszczędzić koszty, wybierz pozycję Zmień rozmiar , aby zmienić jednostkę SKU i rozmiar na pierwszą podstawową (B1), w obszarze Tworzenie i testowanie dla mniej wymagających obciążeń.
Wybierz pozycję Przejrzyj i utwórz.
Wybierz przycisk Utwórz. Utworzenie zasobu zajmuje kilka minut.
Eksportowanie szablonu
Wybierz pozycję Przejdź do zasobu.
W menu po lewej stronie w obszarze Automatyzacja wybierz pozycję Eksportuj szablon.
Funkcja szablonu eksportu pobiera bieżący stan zasobu i generuje szablon do jego wdrożenia. Eksportowanie szablonu może być przydatnym sposobem szybkiego uzyskiwania kodu JSON potrzebnego do wdrożenia zasobu.
Przyjrzyj
Microsoft.Web/serverfarms
się definicji i definicji parametrów w wyeksportowanym szablonie. Nie musisz kopiować tych sekcji. Możesz po prostu użyć tego wyeksportowanego szablonu jako przykładu sposobu dodawania tego zasobu do szablonu.
Ważne
Zazwyczaj wyeksportowany szablon jest bardziej szczegółowy niż w przypadku tworzenia szablonu. Obiekt jednostki SKU, na przykład w wyeksportowanym szablonie, ma pięć właściwości. Ten szablon działa, ale można po prostu użyć name
właściwości . Możesz zacząć od wyeksportowanego szablonu, a następnie zmodyfikować go tak, jak chcesz spełnić wymagania.
Poprawianie istniejącego szablonu
Wyeksportowany szablon zapewnia większość potrzebnych danych JSON, ale musisz dostosować go dla szablonu. Zwróć szczególną uwagę na różnice w parametrach i zmiennych między szablonem a wyeksportowanym szablonem. Oczywiście proces eksportowania nie zna parametrów i zmiennych, które zostały już zdefiniowane w szablonie.
W poniższym przykładzie wyróżniono dodatki do szablonu. Zawiera wyeksportowany kod oraz pewne zmiany. Najpierw zmienia nazwę parametru tak, aby była zgodna z konwencją nazewnictwa. Po drugie używa parametru lokalizacji dla lokalizacji planu usługi App Service. Po trzecie, usuwa niektóre właściwości, w których wartość domyślna jest dobra.
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]"
},
"appServicePlanName": {
"type": "string",
"defaultValue": "exampleplan"
}
},
"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
}
},
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2021-03-01",
"name": "[parameters('appServicePlanName')]",
"location": "[parameters('location')]",
"sku": {
"name": "B1",
"tier": "Basic",
"size": "B1",
"family": "B",
"capacity": 1
},
"kind": "linux",
"properties": {
"perSiteScaling": false,
"reserved": true,
"targetWorkerCount": 0,
"targetWorkerSizeId": 0
}
}
],
"outputs": {
"storageEndpoint": {
"type": "object",
"value": "[reference(variables('uniqueStorageName')).primaryEndpoints]"
}
}
}
Wdrażanie szablonu
Użyj interfejsu wiersza polecenia platformy Azure lub Azure PowerShell, aby wdrożyć szablon.
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 addappserviceplan `
-ResourceGroupName myResourceGroup `
-TemplateFile $templateFile `
-storagePrefix "store" `
-storageSKU Standard_LRS
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.
Weryfikowanie wdrożenia
Wdrożenie można zweryfikować, eksplorując grupę zasobów z Azure Portal.
- Zaloguj się w witrynie Azure Portal.
- W menu po lewej stronie wybierz pozycję Grupy zasobów.
- Wybierz wdrożona grupę zasobów.
- Grupa zasobów zawiera konto magazynu i plan App Service.
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
Wiesz już, jak wyeksportować szablon z Azure Portal i jak używać wyeksportowanego szablonu do programowania szablonu. Możesz również użyć szablonów Szybkiego startu platformy Azure, aby uprościć tworzenie szablonów.