Kurz: Nasazení specifikace šablony jako propojené šablony
Zjistěte, jak nasadit existující specifikaci šablony pomocí propojeného nasazení. Pomocí specifikací šablon můžete sdílet šablony ARM s ostatními uživateli ve vaší organizaci. Po vytvoření specifikace šablony ji můžete nasadit pomocí Azure PowerShellu nebo Azure CLI. Specifikace šablony můžete také nasadit jako součást vašeho řešení pomocí propojené šablony.
Požadavky
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Poznámka:
Pokud chcete použít specifikaci šablony s Azure PowerShellem, musíte nainstalovat verzi 5.0.0 nebo novější. Pokud ho chcete použít s Azure CLI, použijte verzi 2.14.2 nebo novější.
Vytvoření specifikace šablony
Pokud chcete vytvořit specifikaci šablony pro nasazení účtu úložiště, přečtěte si článek Rychlý start: Vytvoření a nasazení specifikace šablony. Pro další část potřebujete název skupiny prostředků specifikace šablony, název specifikace šablony a verzi specifikace šablony.
Vytvoření hlavní šablony
Pokud chcete nasadit specifikaci šablony v šabloně ARM, přidejte do hlavní šablony prostředek nasazení.
templateLink
Ve vlastnosti zadejte ID prostředku specifikace šablony. Vytvořte šablonu s následujícím kódem JSON s názvem azuredeploy.json. V tomto kurzu se předpokládá, že jste šablonu uložili do složky c:\Templates\deployTS\azuredeploy.json , ale můžete použít libovolnou cestu.
{
"$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'))]"
}
}
}
ID specifikace šablony se generuje pomocí resourceID()
funkce. Argument skupiny prostředků ve resourceID()
funkci je volitelný, pokud je specifikace šablony ve stejné skupině prostředků aktuálního nasazení. ID prostředku můžete také předat přímo jako parametr. K získání ID použijte:
$id = (Get-AzTemplateSpec -ResourceGroupName $resourceGroupName -Name $templateSpecName -Version $templateSpecVersion).Versions.Id
Syntaxe pro předávání parametrů specifikaci šablony je:
"parameters": {
"storageAccountType": {
"value": "[parameters('storageAccountType')]"
}
}
Poznámka:
ApiVersion musí Microsoft.Resources/deployments
být 2020-06-01 nebo novější.
Nasazení šablony
Když nasadíte propojenou šablonu, nasadí webovou aplikaci i účet úložiště. Nasazení je stejné jako nasazení jiných šablon ARM.
New-AzResourceGroup `
-Name webRG `
-Location westus2
New-AzResourceGroupDeployment `
-ResourceGroupName webRG `
-TemplateFile "c:\Templates\deployTS\azuredeploy.json" `
-tsResourceGroup templateSpecRg `
-tsName storageSpec `
-tsVersion 1.0
Další kroky
Další informace o vytvoření specifikace šablony, která obsahuje propojené šablony, najdete v tématu Vytvoření specifikace šablony propojené šablony.