Oktatóanyag: Sablonspecifikáció létrehozása csatolt sablonokkal
Megtudhatja, hogyan hozhat létre sablonspecifikációt fő sablonnal és csatolt sablonnal. A sablonspecifikációk használatával megoszthatja az ARM-sablonokat a szervezet más felhasználóival. Ez a cikk bemutatja, hogyan hozhat létre sablonspecifikációt a fő sablon és a csatolt sablonok csomagolásához az relativePath
üzembehelyezési erőforrás tulajdonságával.
Előfeltételek
Egy Azure-fiók, aktív előfizetéssel. Hozzon létre ingyenes fiókot.
Megjegyzés
Ha sablonspecifikációkat szeretne használni Azure PowerShell, telepítenie kell az 5.0.0-s vagy újabb verziót. Az Azure CLI-vel való használatához használja a 2.14.2-es vagy újabb verziót.
Hivatkozott sablonok létrehozása
Hozza létre a fő sablont és a csatolt sablont.
Sablon csatolásához adjon hozzá egy üzembehelyezési erőforrást a fő sablonhoz. templateLink
A tulajdonságban adja meg a csatolt sablon relatív elérési útját a szülősablon elérési útjának megfelelően.
A csatolt sablon neve linkedTemplate.json, és egy összetevők nevű almappában tárolja a fő sablon tárolási útvonalán. A relativePath esetében az alábbi értékek egyikét használhatja:
./artifacts/linkedTemplate.json
/artifacts/linkedTemplate.json
artifacts/linkedTemplate.json
A relativePath
tulajdonság mindig a deklarált sablonfájlhoz relativePath
van viszonyítva, így ha egy másik linkedTemplate2.json nevű linkedTemplate.json és linkedTemplate2.json fájl található ugyanabban az összetevő-almappában, a linkedTemplate.json fájlban megadott relativePath csak linkedTemplate2.json
.
Hozza létre a fő sablont a következő JSON-val. Mentse a fő sablont azuredeploy.json néven a helyi számítógépre. Ez az oktatóanyag feltételezi, hogy a c:\Templates\linkedTS\azuredeploy.json elérési útra mentette, de bármilyen elérési utat használhat.
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "location": { "type": "string", "defaultValue": "westus2", "metadata":{ "description": "Specify the location for the resources." } }, "storageAccountType": { "type": "string", "defaultValue": "Standard_LRS", "metadata":{ "description": "Specify the storage account type." } } }, "variables": { "appServicePlanName": "[format('plan{0}', uniquestring(resourceGroup().id))]" }, "resources": [ { "type": "Microsoft.Web/serverfarms", "apiVersion": "2022-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": "2022-09-01", "name": "createStorage", "properties": { "mode": "Incremental", "templateLink": { "relativePath": "artifacts/linkedTemplate.json" }, "parameters": { "storageAccountType": { "value": "[parameters('storageAccountType')]" } } } } ] }
Megjegyzés
Az apiVersion értéke
Microsoft.Resources/deployments
2020-06-01 vagy újabb lehet.Hozzon létre egy összetevők nevű könyvtárat abban a mappában, amelyben a fő sablont menti.
Hozza létre a csatolt sablont a következő JSON-val:
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageAccountType": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_ZRS", "Premium_LRS" ], "metadata": { "description": "Storage Account type" } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } } }, "variables": { "storageAccountName": "[format('store{0}', uniquestring(resourceGroup().id))]" }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "apiVersion": "2022-09-01", "name": "[variables('storageAccountName')]", "location": "[parameters('location')]", "sku": { "name": "[parameters('storageAccountType')]" }, "kind": "StorageV2", "properties": {} } ], "outputs": { "storageAccountName": { "type": "string", "value": "[variables('storageAccountName')]" } } }
Mentse a sablont linkedTemplate.json néven az artifacts mappába.
Sablonspecifikáció létrehozása
A sablonok specifikációi erőforráscsoportokban vannak tárolva. Hozzon létre egy erőforráscsoportot, majd hozzon létre egy sablonspecifikációt az alábbi szkripttel. A sablon specifikációjának neve webSpec.
New-AzResourceGroup `
-Name templateSpecRG `
-Location westus2
New-AzTemplateSpec `
-Name webSpec `
-Version "1.0.0.0" `
-ResourceGroupName templateSpecRG `
-Location westus2 `
-TemplateFile "c:\Templates\linkedTS\azuredeploy.json"
Ha végzett, megtekintheti a sablonspecifikációt a Azure Portal vagy a következő parancsmag használatával:
Get-AzTemplateSpec -ResourceGroupName templatespecRG -Name webSpec
Sablonspecifikáció üzembe helyezése
Most már üzembe helyezheti a sablonspecifikációt. A sablonspecifikáció üzembe helyezése ugyanúgy történik, mint a benne található sablon üzembe helyezése, azzal a kivételsel, hogy a sablonspecifikáció erőforrás-azonosítóját adja meg. Ugyanazokat az üzembehelyezési parancsokat használja, és szükség esetén paraméterértékeket ad meg a sablonspecifikációhoz.
New-AzResourceGroup `
-Name webRG `
-Location westus2
$id = (Get-AzTemplateSpec -ResourceGroupName templateSpecRG -Name webSpec -Version "1.0.0.0").Versions.Id
New-AzResourceGroupDeployment `
-TemplateSpecId $id `
-ResourceGroupName webRG
Következő lépések
A sablonspecifikáció csatolt sablonként való üzembe helyezéséről az Oktatóanyag: Sablonspecifikáció üzembe helyezése csatolt sablonként című témakörben olvashat.