Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dowiedz się, jak wdrożyć istniejącą specyfikację szablonu przy użyciu połączonego wdrożenia. Użyj specyfikacji szablonu, aby udostępnić szablony usługi ARM innym użytkownikom w organizacji. Po utworzeniu specyfikacji szablonu można wdrożyć go przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. Specyfikację szablonu można również wdrożyć w ramach rozwiązania przy użyciu połączonego szablonu.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
Uwaga
Aby użyć specyfikacji szablonu w programie Azure PowerShell, musisz zainstalować wersję 5.0.0 lub nowszą. Aby używać go z interfejsem wiersza polecenia platformy Azure, użyj wersji 2.14.2 lub nowszej.
Tworzenie specyfikacji szablonu
Aby utworzyć specyfikację szablonu na potrzeby wdrażania konta magazynu, zobacz Szybki start: tworzenie i wdrażanie specyfikacji szablonu. Potrzebujesz nazwy grupy zasobów specyfikacji szablonu, nazwy specyfikacji szablonu i wersji specyfikacji szablonu dla następnej sekcji.
Tworzenie szablonu głównego
Aby wdrożyć specyfikację szablonu w szablonie usługi ARM, dodaj zasób wdrożenia do głównego szablonu.
templateLink
We właściwości określ identyfikator zasobu specyfikacji szablonu. Utwórz szablon z następującym kodem JSON o nazwie azuredeploy.json. W tym samouczku założono, że szablon został zapisany w folderze c:\Templates\deployTS\azuredeploy.json , ale możesz użyć dowolnej ścieżki.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
},
"tsResourceGroup":{
"type": "string",
"metadata": {
"Description": "Specifies the resource group name of the template spec."
}
},
"tsName": {
"type": "string",
"metadata": {
"Description": "Specifies the name of the template spec."
}
},
"tsVersion": {
"type": "string",
"defaultValue": "1.0.0.0",
"metadata": {
"Description": "Specifies the version the template spec."
}
},
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"metadata": {
"Description": "Specifies the storage account type required by the template spec."
}
}
},
"variables": {
"appServicePlanName": "[concat('plan', uniquestring(resourceGroup().id))]"
},
"resources": [
{
"type": "Microsoft.Web/serverfarms",
"apiVersion": "2016-09-01",
"name": "[variables('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
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "createStorage",
"properties": {
"mode": "Incremental",
"templateLink": {
"id": "[resourceId(parameters('tsResourceGroup'), 'Microsoft.Resources/templateSpecs/versions', parameters('tsName'), parameters('tsVersion'))]"
},
"parameters": {
"storageAccountType": {
"value": "[parameters('storageAccountType')]"
}
}
}
}
],
"outputs": {
"templateSpecId": {
"type": "string",
"value": "[resourceId(parameters('tsResourceGroup'), 'Microsoft.Resources/templateSpecs/versions', parameters('tsName'), parameters('tsVersion'))]"
}
}
}
Identyfikator specyfikacji szablonu resourceID()
jest generowany przy użyciu funkcji . Argument grupy zasobów w resourceID()
funkcji jest opcjonalny, jeśli specyfikacja szablonu znajduje się w tej samej grupie zasobów bieżącego wdrożenia. Możesz również bezpośrednio przekazać identyfikator zasobu jako parametr. Aby uzyskać identyfikator, użyj:
$id = (Get-AzTemplateSpec -ResourceGroupName $resourceGroupName -Name $templateSpecName -Version $templateSpecVersion).Versions.Id
Składnia przekazywania parametrów do specyfikacji szablonu to:
"parameters": {
"storageAccountType": {
"value": "[parameters('storageAccountType')]"
}
}
Uwaga
Parametr apiVersion Microsoft.Resources/deployments
musi mieć wartość 2020-06-01 lub nowszą.
Wdrażanie szablonu
Podczas wdrażania połączonego szablonu wdraża zarówno aplikację internetową, jak i konto magazynu. Wdrożenie jest takie samo jak wdrażanie innych szablonów usługi ARM.
New-AzResourceGroup `
-Name webRG `
-Location westus2
New-AzResourceGroupDeployment `
-ResourceGroupName webRG `
-TemplateFile "c:\Templates\deployTS\azuredeploy.json" `
-tsResourceGroup templateSpecRg `
-tsName storageSpec `
-tsVersion 1.0
Następne kroki
Aby dowiedzieć się więcej o tworzeniu specyfikacji szablonu zawierającej połączone szablony, zobacz Tworzenie specyfikacji szablonu połączonego szablonu.