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 typea .nameapiVersion

Következő lépések