Erőforrás-deklaráció ARM-sablonokban
Ha azure Resource Manager-sablonon (ARM-sablonon) keresztül szeretne üzembe helyezni egy erőforrást, adjon hozzá egy erőforrás-deklarációt. Használja a resources
tömböt egy JSON-sablonban.
A languageVersion 2.0 felsorolja az ARM JSON-sablonok fejlesztéseit, például az erőforrás-deklarációt tömbről objektumra módosítja. A cikkben bemutatott minták többsége továbbra is tömböt használ resources
. A languageVersion 2.0-specifikus információiért lásd : Szimbolikus név használata.
Feljegyzés
A Visual Studio Code-hoz készült Azure Resource Manager Tools bővítmény jelenlegi kiadása nem ismeri fel a languageVersion 2.0-ban végrehajtott fejlesztéseket.
Tipp.
A Bicep használatát javasoljuk, mert ugyanazokkal a képességekkel rendelkezik, mint az ARM-sablonok, és a szintaxis használata egyszerűbb. További információ: erőforrás-deklaráció.
Egy sablonban legfeljebb 800 erőforrást használhat. További információ: Sablonkorlátok.
Erőforrástípus és -verzió beállítása
Amikor erőforrást ad hozzá a sablonhoz, először állítsa be az erőforrástípust és az API-verziót. Ezek az értékek határozzák meg az erőforráshoz elérhető egyéb tulajdonságokat.
Az alábbi példa bemutatja, hogyan állíthatja be a tárfiók erőforrástípusát és API-verzióját. A példa nem jeleníti meg a teljes erőforrás-deklarációt.
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
...
}
]
Erőforrásnév beállítása
Minden erőforrásnak van egy neve. Az erőforrásnév beállításakor figyeljen az erőforrásnevekre vonatkozó szabályokra és korlátozásokra.
"parameters": {
"storageAccountName": {
"type": "string",
"minLength": 3,
"maxLength": 24
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
...
}
]
Hely beállítása
Sok erőforráshoz hely szükséges. Az intelliense vagy a sablonhivatkozás segítségével meghatározhatja, hogy az erőforrásnak szüksége van-e egy helyre. Az alábbi példa egy, a tárfiókhoz használt helyparamétert ad hozzá.
"parameters": {
"storageAccountName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
...
}
]
További információ: Erőforrás helyének beállítása ARM-sablonban.
Címkék beállítása
Az üzembe helyezés során címkéket alkalmazhat egy erőforrásra. A címkék segítenek logikusan rendszerezni az üzembe helyezett erőforrásokat. Példák a címkék megadásának különböző módjaira: ARM-sabloncímkék.
Erőforrás-specifikus tulajdonságok beállítása
A fenti tulajdonságok a legtöbb erőforrástípus esetében általánosak. Az értékek beállítása után be kell állítania azokat a tulajdonságokat, amelyek az üzembe helyezendő erőforrástípusra vonatkoznak.
Az intellisense vagy a sablonhivatkozás használatával meghatározhatja, hogy mely tulajdonságok érhetők el, és melyekre van szükség. Az alábbi példa egy tárfiók fennmaradó tulajdonságait állítja be.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"functions": [],
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"accessTier": "Hot"
}
}
]
}
Szimbolikus név használata
A Bicepben minden erőforrásdefiníciónak szimbolikus neve van. A szimbolikus név a Bicep-fájl más részeiből származó erőforrásra hivatkozik. Az ARM JSON-sablonok szimbolikus nevének támogatásához adja hozzá languageVersion
a verziót 2.0
, és módosítsa az erőforrásdefiníciót tömbről objektumra. Ha languageVersion
sablonhoz van megadva, szimbolikus nevet kell megadni a gyökérszintű erőforrásokhoz. Példa:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.ContainerService/managedClusters",
...
}
]
}
Az előző JSON a következő JSON-ba írható:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"languageVersion": "2.0",
"contentVersion": "1.0.0.0",
"resources": {
"aks": {
"type": "Microsoft.ContainerService/managedClusters",
...
}
}
}
A szimbolikus nevek megkülönböztetik a kis- és nagybetűket. A szimbolikus nevek megengedett karakterei a betűk, számok és _. A szimbolikus neveknek egyedinek kell lenniük a sablonban, de átfedésben lehetnek a sablon változóneveivel, paraméterneveivel és kimeneti nevével. Az alábbi példában a tárfiók-erőforrás szimbolikus neve ugyanazzal a névvel rendelkezik, mint a kimenet.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"languageVersion": "2.0",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"defaultValue": "[format('storage{0}', uniqueString(resourceGroup().id))]"
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": {
"myStorage": {
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-09-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {}
}
},
"outputs": {
"myStorage":{
"type": "object",
"value": "[reference('myStorage')]"
}
}
}
A referenciafüggvény használhatja az erőforrás szimbolikus nevét, ahogy az az előző példában is látható. A referenciafüggvény már nem használhatja az erőforrás nevét, reference(parameters('storageAccountName'))
például nem engedélyezett.
Ha az üzembehelyezési erőforrást szimbolikus névvel rendelkező üzembe helyezésben használják, használja az apiVersion 2020-09-01
vagy újabb verziót.
Meglévő erőforrások deklarálása
Az erőforrás-deklaráció szimbolikus nevével languageVersion 2.0
és használatával deklarálhatja a meglévő erőforrásokat. Egy legfelső szintű erőforrástulajdonság, amely "existing": true
miatt az ARM olvasást okoz az erőforrás üzembe helyezése helyett, ahogy az az alábbi példában látható:
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"languageVersion": "2.0",
"resources": {
"storageAccount": {
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2022-09-01",
"name": "storageacct",
"existing": true
}
},
"outputs": {
"saBlocksPlaintext": {
"type": "bool",
"value": "[ reference('storageAccount').supportsHttpsTrafficOnly]"
}
}
}
A meglévő erőforrásoknak nem kell más tulajdonságokat meghatározniuk, mint type
a .name
apiVersion
Következő lépések
- Az erőforrások feltételes üzembe helyezéséről lásd : Feltételes üzembe helyezés ARM-sablonokban.
- Az erőforrás-függőségek beállításához tekintse meg az erőforrások ARM-sablonokban való üzembe helyezésének sorrendjét ismertető témakört.