Az ARM-sablonok struktúrájának és szintaxisának megismerése

Ez a cikk egy Azure Resource Manager-sablon (ARM-sablon) szerkezetét ismerteti. A sablon különböző szakaszait és az ezekben a szakaszokban elérhető tulajdonságokat mutatja be.

Ez a cikk olyan felhasználóknak szól, akik ismerik az ARM-sablonokat. Részletes információkat nyújt a sablon szerkezetéről. A sablon létrehozásának folyamatát bemutató részletes oktatóanyagért lásd : Oktatóanyag: Az első ARM-sablon létrehozása és üzembe helyezése. Az ARM-sablonokról a Learn-modulok interaktív készletén keresztül az Erőforrások üzembe helyezése és kezelése az Azure-ban ARM-sablonok használatával című témakörben olvashat.

Tipp

A Bicep egy új nyelv, amely ugyanazokat a képességeket kínálja, mint az ARM-sablonok, de egy könnyebben használható szintaxissal. Ha az infrastruktúrát kódbeállításoknak tekinti, javasoljuk, hogy tekintse meg a Bicep-et.

A Bicep-fájlok elemeiről a Bicep-fájlok szerkezetének és szintaxisának ismertetése című témakörben olvashat.

Sablon formátuma

A sablon legegyszerűbb struktúrájában a következő elemeket tartalmazza:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "",
  "contentVersion": "",
  "apiProfile": "",
  "definitions": { },
  "parameters": { },
  "variables": { },
  "functions": [ ],
  "resources": [ ], /* or "resources": { } with languageVersion 2.0 */
  "outputs": { }
}
Elem neve Kötelező Leírás
$schema Yes A JavaScript Object Notation (JSON) sémafájl helye, amely leírja a sablonnyelv verzióját. A használt verziószám az üzemelő példány hatókörétől és a JSON-szerkesztőtől függ.

Ha a Visual Studio Code-ot az Azure Resource Manager eszközök bővítményével használja, használja az erőforráscsoport-üzemelő példányok legújabb verzióját:
https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#

Előfordulhat, hogy más szerkesztők (beleértve a Visual Studiót is) nem tudják feldolgozni ezt a sémát. Ezekhez a szerkesztőkhöz használja a következőt:
https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

Előfizetéses üzemelő példányok esetén használja a következőt:
https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#

Felügyeleti csoport üzemelő példányaihoz használja a következőt:
https://schema.management.azure.com/schemas/2019-08-01/managementGroupDeploymentTemplate.json#

Bérlői üzemelő példányok esetén használja a következőt:
https://schema.management.azure.com/schemas/2019-08-01/tenantDeploymentTemplate.json#
languageVersion No A sablon nyelvi verziója. A languageVersion 2.0 továbbfejlesztésének megtekintéséhez lásd: languageVersion 2.0.
contentVersion Yes A sablon verziója (például 1.0.0.0). Ehhez az elemhez bármilyen értéket megadhat. Ezzel az értékkel dokumentálhatja a sablon jelentős módosításait. Amikor erőforrásokat helyez üzembe a sablon használatával, ez az érték a megfelelő sablon használatának biztosításához használható.
apiProfile No Egy API-verzió, amely az erőforrástípusok API-verzióinak gyűjteményeként szolgál. Ezzel az értékkel elkerülheti, hogy api-verziókat adjon meg a sablon egyes erőforrásaihoz. Amikor megad egy API-profilverziót, és nem ad meg API-verziót az erőforrástípushoz, Resource Manager a profilban definiált erőforrástípus API-verzióját használja.

Az API-profil tulajdonság különösen hasznos, ha sablont helyez üzembe különböző környezetekben, például az Azure Stackben és a globális Azure-ban. Az API-profil verziójával győződjön meg arról, hogy a sablon automatikusan a mindkét környezetben támogatott verziókat használja. Az API-profilok aktuális verzióinak és a profilban definiált erőforrások API-verzióinak listáját lásd: API-profil.

További információ: Verziók nyomon követése API-profilokkal.
Meghatározások No A tömb- és objektumértékek érvényesítéséhez használt sémák. A definíciók csak a languageVersion 2.0-ban támogatottak.
paraméterek No Az erőforrások üzembe helyezésének testreszabásához az üzembe helyezés végrehajtásakor megadott értékek.
Változók No A sablonban JSON-töredékként használt értékek a sablon nyelvi kifejezéseinek leegyszerűsítéséhez.
Funkciók No A sablonban elérhető, felhasználó által definiált függvények.
Erőforrások Yes Erőforráscsoportban vagy előfizetésben üzembe helyezett vagy frissített erőforrástípusok.
Kimenetek No Az üzembe helyezés után visszaadott értékek.

Minden elemhez megadható tulajdonságokkal rendelkezik. Ez a cikk részletesebben ismerteti a sablon szakaszait.

Definíciók

definitions A sablon szakaszában adja meg a tömb- és objektumértékek érvényesítéséhez használt sémákat. Definitions csak a languageVersion 2.0-val használható.

"definitions": {
  "<definition-name": {
    "type": "<data-type-of-definition>",
    "allowedValues": [ "<array-of-allowed-values>" ],
    "minValue": <minimum-value-for-int>,
    "maxValue": <maximum-value-for-int>,
    "minLength": <minimum-length-for-string-or-array>,
    "maxLength": <maximum-length-for-string-or-array>,
    "prefixItems": <schema-for-validating-array>,
    "items": <schema-for-validating-array-or-boolean>,
    "properties": <schema-for-validating-object>,
    "additionalProperties": <schema-for-validating-object-or-boolean>,
    "discriminator": <schema-to-apply>,
    "nullable": <boolean>,
    "metadata": {
      "description": "<description-of-the-type-definition>"
    }
  }
}
Elem neve Kötelező Leírás
definíció-név Yes A típusdefiníció neve. Érvényes JavaScript-azonosítónak kell lennie.
típus Yes A típusdefiníció típusa. Az engedélyezett típusok és értékek a következők: sztring, securestring, int, bool, object, secureObject és tömb. Lásd: Adattípusok ARM-sablonokban.
allowedValues No A típusdefiníció engedélyezett értékeinek tömbje, hogy meggyőződjön arról, hogy a megfelelő érték van megadva.
minValue No Az int típusdefiníciók minimális értéke, amely magában foglalja ezt az értéket.
maxValue No Az int típusdefiníciók maximális értéke, amely magában foglalja ezt az értéket.
Minlength No Ez az érték tartalmazza a sztringek, a biztonságos sztringek és a tömbtípus-definíciók minimális hosszát.
Maxlength No Ez az érték a sztringek, a biztonságos sztringek és a tömbtípus-definíciók maximális hossza.
prefixItems No Az ugyanazon indexben lévő tömb elemének érvényesítésére szolgáló séma.
elemek No A tömb minden olyan elemére alkalmazott séma, amelynek indexe nagyobb, mint a prefixItems kényszer legnagyobb indexe, vagy logikai érték annak a tömbnek az elemeinek szabályozására, amelynek indexe nagyobb, mint a prefixItems kényszer legnagyobb indexe.
properties No Az objektum érvényesítésére szolgáló séma.
additionalProperties No A kényszerben properties nem említett összes tulajdonságra alkalmazott séma, vagy logikai érték a kényszerben properties nem meghatározott tulajdonságok elfogadásához.
diszkriminatív No A diszkriminatív tulajdonság alapján alkalmazandó séma.
Nullázható No Logikai érték, amely azt jelzi, hogy az érték null értékű vagy elhagyható.
leírás No A portálon keresztül a felhasználók számára megjelenített típusdefiníció leírása. További információ: Megjegyzések sablonokban.

Példák a típusdefiníciók használatára: Típusdefiníciók ARM-sablonokban.

A Bicepben lásd: Felhasználó által definiált adattípusok.

Paraméterek

parameters A sablon szakaszában megadhatja, hogy mely értékek adhatók meg az erőforrások üzembe helyezésekor. Egy sablonban legfeljebb 256 paraméter szerepelhet. A paraméterek számát csökkentheti több tulajdonságot tartalmazó objektumok használatával.

A paraméterek elérhető tulajdonságai a következők:

"parameters": {
  "<parameter-name>" : {
    "type" : "<type-of-parameter-value>",
    "defaultValue": "<default-value-of-parameter>",
    "allowedValues": [ "<array-of-allowed-values>" ],
    "minValue": <minimum-value-for-int>,
    "maxValue": <maximum-value-for-int>,
    "minLength": <minimum-length-for-string-or-array>,
    "maxLength": <maximum-length-for-string-or-array>,
    "prefixItems": <schema-for-validating-array>,
    "items": <schema-for-validating-array-or-boolean>,
    "properties": <schema-for-validating-object>,
    "additionalProperties": <schema-for-validating-object-or-boolean>,
    "discriminator": <schema-to-apply>,
    "nullable": <boolean>,
    "metadata": {
      "description": "<description-of-the parameter>"
    }
  }
}
Elem neve Kötelező Leírás
paraméter-név Yes A paraméter neve. Érvényes JavaScript-azonosítónak kell lennie.
típus Yes A paraméterérték típusa. Az engedélyezett típusok és értékek a következők: sztring, securestring, int, bool, object, secureObject és array. Lásd: Adattípusok ARM-sablonokban.
defaultValue No A paraméter alapértelmezett értéke, ha nincs megadva érték a paraméterhez.
allowedValues No A paraméter engedélyezett értékeinek tömbje, amely biztosítja, hogy a megfelelő érték legyen megadva.
minValue No Az int típusú paraméterek minimális értéke, amely magában foglalja ezt az értéket.
maxValue No Az int típusú paraméterek maximális értéke, ez az érték a befogadó.
Minlength No Ez az érték tartalmazza a sztring, a biztonságos sztring és a tömbtípus paramétereinek minimális hosszát.
Maxlength No Ez az érték a sztring, a biztonságos sztring és a tömbtípus paramétereinek maximális hossza.
prefixItems No Típusdefiníció egy tömb elemének egyazon indexben való érvényesítéséhez. prefixItems csak a languageVersion 2.0-ban támogatott.
elemek No A tömb minden olyan elemére alkalmazott séma, amelynek indexe nagyobb, mint a prefixItems kényszer legnagyobb indexe, vagy logikai érték annak a tömbnek az elemeinek szabályozására, amelynek indexe nagyobb, mint a prefixItems kényszer legnagyobb indexe. items csak a languageVersion 2.0-ban támogatott.
properties No Az objektum érvényesítésére szolgáló séma. properties csak a languageVersion 2.0-ban támogatott.
additionalProperties No A kényszerben properties nem említett összes tulajdonságra alkalmazott séma, vagy logikai érték a kényszerben properties nem meghatározott tulajdonságok elfogadásához. additionalProperties csak a languageVersion 2.0-ban támogatott.
diszkriminatív No A diszkriminatív tulajdonság alapján alkalmazandó séma. discriminator csak a languageVersion 2.0-ban támogatott.
Nullázható No Logikai érték, amely azt jelzi, hogy az érték null értékű vagy elhagyható. nullable csak a languageVersion 2.0-ban támogatott.
leírás No A portálon keresztül a felhasználók számára megjelenített paraméter leírása. További információ: Megjegyzések sablonokban.

Példák a paraméterek használatára: Paraméterek ARM-sablonokban.

A Bicepben tekintse meg a paramétereket.

Változók

A szakaszban olyan variables értékeket hozhat létre, amelyek a teljes sablonban használhatók. Nem kell változókat definiálnia, de az összetett kifejezések csökkentésével gyakran egyszerűsítik a sablont. Az egyes változók formátuma megegyezik az adattípusok egyikével. Egy sablonban legfeljebb 256 változó szerepelhet.

Az alábbi példa a változók meghatározásához rendelkezésre álló lehetőségeket mutatja be:

"variables": {
  "<variable-name>": "<variable-value>",
  "<variable-name>": {
    <variable-complex-type-value>
  },
  "<variable-object-name>": {
    "copy": [
      {
        "name": "<name-of-array-property>",
        "count": <number-of-iterations>,
        "input": <object-or-value-to-repeat>
      }
    ]
  },
  "copy": [
    {
      "name": "<variable-array-name>",
      "count": <number-of-iterations>,
      "input": <object-or-value-to-repeat>
    }
  ]
}

További információ a copy változók több értékének létrehozásáról: Változó iterációja.

Példák a változók használatára: Változók ARM-sablonban.

A Bicepben lásd a változókat.

Functions

A sablonon belül saját függvényeket is létrehozhat. Ezek a függvények a sablonban használhatók. Általában olyan összetett kifejezéseket definiál, amelyeket nem szeretne megismételni a sablonban. A felhasználó által definiált függvényeket a sablonokban támogatott kifejezésekből és függvényekből hozhatja létre.

A felhasználói függvények definiálásakor bizonyos korlátozások vannak érvényben:

  • A függvény nem fér hozzá a változókhoz.
  • A függvény csak a függvényben definiált paramétereket használhatja. Ha a paraméterfüggvényt egy felhasználó által definiált függvényben használja, az adott függvény paramétereire korlátozódik.
  • A függvény nem hívhat meg más, felhasználó által definiált függvényeket.
  • A függvény nem használhatja a referenciafüggvényt.
  • A függvény paraméterei nem rendelkezhetnek alapértelmezett értékekkel.
"functions": [
  {
    "namespace": "<namespace-for-functions>",
    "members": {
      "<function-name>": {
        "parameters": [
          {
            "name": "<parameter-name>",
            "type": "<type-of-parameter-value>"
          }
        ],
        "output": {
          "type": "<type-of-output-value>",
          "value": "<function-return-value>"
        }
      }
    }
  }
],
Elem neve Kötelező Leírás
névtér Yes Az egyéni függvények névtere. A sablonfüggvényekkel való elnevezési ütközések elkerülésére használható.
function-name Yes Az egyéni függvény neve. A függvény meghívásakor kombinálja a függvény nevét a névtérrel. Ha például a contoso névtérben egy nevű uniqueName függvényt szeretne meghívni, használja a parancsot "[contoso.uniqueName()]".
paraméter-név No Az egyéni függvényben használandó paraméter neve.
paraméter-érték No A paraméterérték típusa. Az engedélyezett típusok és értékek a következők: sztring, securestring, int, bool, object, secureObject és array.
kimeneti típus Yes A kimeneti érték típusa. A kimeneti értékek ugyanazokat a típusokat támogatják, mint a függvénybemeneti paraméterek.
kimeneti érték Yes A függvény által kiértékelt és visszaadott sablonnyelvi kifejezés.

Az egyéni függvények használatára vonatkozó példákért lásd: Felhasználó által definiált függvények AZ ARM-sablonban.

A Bicepben a felhasználó által definiált függvények nem támogatottak. A Bicep különböző függvényeket és operátorokat támogat.

Források

resources A szakaszban definiálhatja az üzembe helyezett vagy frissített erőforrásokat. Egy sablonban legfeljebb 800 erőforrás lehet.

Az erőforrásokat a következő struktúrával határozhatja meg:

"resources": [
  {
    "condition": "<true-to-deploy-this-resource>",
    "type": "<resource-provider-namespace/resource-type-name>",
    "apiVersion": "<api-version-of-resource>",
    "name": "<name-of-the-resource>",
    "comments": "<your-reference-notes>",
    "location": "<location-of-resource>",
    "dependsOn": [
        "<array-of-related-resource-names>"
    ],
    "tags": {
        "<tag-name1>": "<tag-value1>",
        "<tag-name2>": "<tag-value2>"
    },
    "identity": {
      "type": "<system-assigned-or-user-assigned-identity>",
      "userAssignedIdentities": {
        "<resource-id-of-identity>": {}
      }
    },
    "sku": {
        "name": "<sku-name>",
        "tier": "<sku-tier>",
        "size": "<sku-size>",
        "family": "<sku-family>",
        "capacity": <sku-capacity>
    },
    "kind": "<type-of-resource>",
    "scope": "<target-scope-for-extension-resources>",
    "copy": {
        "name": "<name-of-copy-loop>",
        "count": <number-of-iterations>,
        "mode": "<serial-or-parallel>",
        "batchSize": <number-to-deploy-serially>
    },
    "plan": {
        "name": "<plan-name>",
        "promotionCode": "<plan-promotion-code>",
        "publisher": "<plan-publisher>",
        "product": "<plan-product>",
        "version": "<plan-version>"
    },
    "properties": {
        "<settings-for-the-resource>",
        "copy": [
            {
                "name": ,
                "count": ,
                "input": {}
            }
        ]
    },
    "resources": [
        "<array-of-child-resources>"
    ]
  }
]
Elem neve Kötelező Leírás
Feltétel No Logikai érték, amely azt jelzi, hogy az erőforrás ki van-e építve az üzembe helyezés során. Amikor truea ( ) az erőforrást az üzembe helyezés során hozza létre. Amikor falsea ( ) az erőforrást kihagyja ehhez az üzemelő példányhoz. Lásd a feltételt.
típus Yes Az erőforrás típusa. Ez az érték az erőforrás-szolgáltató névterének és az erőforrástípusnak (például Microsoft.Storage/storageAccounts) kombinációja. Az elérhető értékek meghatározásához tekintse meg a sablonreferenciát. Gyermekerőforrás esetén a típus formátuma attól függ, hogy a szülőerőforrásba van-e beágyazva, vagy a szülőerőforráson kívül van definiálva. Lásd: A gyermekerőforrások nevének és típusának megadása.
apiVersion Yes Az erőforrás létrehozásához használandó REST API verziója. Új sablon létrehozásakor állítsa ezt az értéket az üzembe helyezni kívánt erőforrás legújabb verziójára. Ha a sablon szükség szerint működik, használja továbbra is ugyanazt az API-verziót. Ha továbbra is ugyanazt az API-verziót használja, minimalizálhatja annak kockázatát, hogy egy új API-verzió megváltoztatja a sablon működését. Érdemes csak akkor frissíteni az API-verziót, ha egy későbbi verzióban bevezetett új funkciót szeretne használni. Az elérhető értékek meghatározásához tekintse meg a sablonreferenciát.
name Yes Az erőforrás neve. A névnek az RFC3986 meghatározott URI-összetevő-korlátozásokat kell követnie. Azok az Azure-szolgáltatások, amelyek külső felek számára teszik elérhetővé az erőforrásnevet, ellenőrzik a nevet, hogy meggyőződjenek arról, hogy nem egy másik identitás hamisítására tett kísérletről van szó. Gyermekerőforrás esetén a név formátuma attól függ, hogy a szülőerőforrásba van-e beágyazva, vagy a szülőerőforráson kívül van definiálva. Lásd: A gyermekerőforrások nevének és típusának megadása.
megjegyzések No A sablon erőforrásainak dokumentálására vonatkozó jegyzetei. További információ: Megjegyzések sablonokban.
location Változó A megadott erőforrás támogatott földrajzi helyei. Bármelyik elérhető helyet kiválaszthatja, de általában érdemes olyan helyet választani, amely közel van a felhasználókhoz. Általában érdemes az egymással kommunikáló erőforrásokat ugyanabban a régióban elhelyezni. A legtöbb erőforrástípushoz hely szükséges, de bizonyos típusok (például szerepkör-hozzárendelések) nem igényelnek helyet. Lásd: Erőforrás helyének beállítása.
dependsOn No Azokat az erőforrásokat, amelyeket az erőforrás üzembe helyezése előtt kell üzembe helyezni. Resource Manager kiértékeli az erőforrások közötti függőségeket, és a megfelelő sorrendben helyezi üzembe őket. Ha az erőforrások nem függnek egymástól, párhuzamosan lesznek üzembe helyezve. Az érték lehet egy erőforrásnevek vesszővel tagolt listája vagy az erőforrás egyedi azonosítója. Csak az ebben a sablonban üzembe helyezett erőforrások listázása. A sablonban nem definiált erőforrásoknak már létezniük kell. Kerülje a szükségtelen függőségek hozzáadását, mivel lelassíthatják az üzembe helyezést, és körkörös függőségeket hozhatnak létre. A függőségek beállításával kapcsolatos útmutatásért tekintse meg az erőforrások ARM-sablonokban való üzembe helyezésének sorrendjét ismertető cikket.
tags No Az erőforráshoz társított címkék. Címkék alkalmazásával logikailag rendszerezheti az erőforrásokat az előfizetésben.
identity No Egyes erőforrások támogatják az Azure-erőforrások felügyelt identitásait. Ezeknek az erőforrásoknak egy identitásobjektuma van az erőforrás-deklaráció gyökérszintjén. Beállíthatja, hogy az identitás felhasználó által hozzárendelt vagy rendszer által hozzárendelt-e. A felhasználó által hozzárendelt identitások esetében adja meg az identitások erőforrás-azonosítóinak listáját. Állítsa a kulcsot az erőforrás-azonosítóra, az értéket pedig egy üres objektumra. További információ: Felügyelt identitások konfigurálása Azure-erőforrásokhoz azure-beli virtuális gépen sablonok használatával.
Sku No Egyes erőforrások lehetővé teszik az üzembe helyezendő termékváltozatot meghatározó értékeket. Megadhatja például a tárfiók redundanciának típusát.
Fajta No Egyes erőforrások lehetővé teszik az üzembe helyezhető erőforrás típusát meghatározó értéket. Megadhatja például a létrehozandó Azure Cosmos DB-példány típusát.
scope No A scope tulajdonság csak bővítmény típusú erőforrástípusokhoz érhető el. Akkor használja, ha olyan hatókört ad meg, amely eltér az üzembehelyezési hatókörétől. Lásd: Bővítményerőforrások hatókörének beállítása ARM-sablonokban.
másolás No Ha több példányra van szükség, a létrehozandó erőforrások száma. Az alapértelmezett mód párhuzamos. Akkor adja meg a soros módot, ha nem szeretné, hogy az összes vagy az erőforrás egyszerre legyen üzembe helyezve. További információ: Több erőforráspéldány létrehozása az Azure Resource Manager.
Terv No Egyes erőforrások lehetővé teszik az üzembe helyezési tervet meghatározó értékeket. Megadhatja például egy virtuális gép piactéri rendszerképét.
properties No Erőforrás-specifikus konfigurációs beállítások. A tulajdonságok értékei megegyeznek az erőforrás létrehozásához szükséges REST API-művelet (PUT metódus) kérelemtörzsében megadott értékekkel. Megadhat egy másolási tömböt is egy tulajdonság több példányának létrehozásához. Az elérhető értékek meghatározásához tekintse meg a sablonreferenciát.
resources No A definiált erőforrástól függő alárendelt erőforrások. Csak a szülőerőforrás sémája által engedélyezett erőforrástípusokat adja meg. A szülőerőforrástól való függőség nem utal rá. Ezt a függőséget explicit módon kell meghatároznia. Lásd: A gyermekerőforrások nevének és típusának megadása.

Ha támogatni szeretné a Bicep szimbolikus nevét az ARM JSON-sablonokban, adja hozzá languageVersion a elemet a verzióval vagy újabb verzióval 2.0 , és módosítsa az erőforrás-definíciót tömbről objektumra.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "2.0",
  "contentVersion": "1.0.0.0",
  "resources": {
    "<name-of-the-resource>": {
      ...
    }
  }
}

További információ: Erőforrások.

A Bicepben tekintse meg az erőforrásokat.

Kimenetek

A szakaszban az outputs üzembe helyezésből visszaadott értékeket adja meg. Általában az üzembe helyezett erőforrások értékeit adja vissza. Egy sablonban legfeljebb 64 kimenet lehet.

Az alábbi példa egy kimeneti definíció struktúráját mutatja be:

"outputs": {
  "<output-name>": {
    "condition": "<boolean-value-whether-to-output-value>",
    "type": "<type-of-output-value>",
    "value": "<output-value-expression>",
    "copy": {
      "count": <number-of-iterations>,
      "input": <values-for-the-variable>
    }
  }
}
Elem neve Kötelező Leírás
output-name Yes A kimeneti érték neve. Érvényes JavaScript-azonosítónak kell lennie.
Feltétel No Logikai érték, amely azt jelzi, hogy ez a kimeneti érték lesz-e visszaadva. Amikor truea , az érték szerepel az üzembe helyezés kimenetében. Amikor falsea kimenet értéke ki van hagyva ehhez az üzemelő példányhoz. Ha nincs megadva, az alapértelmezett érték a következő true: .
típus Yes A kimeneti érték típusa. A kimeneti értékek ugyanazokat a típusokat támogatják, mint a sablon bemeneti paraméterei. Ha a kimeneti típushoz securestring értéket ad meg, az érték nem jelenik meg az üzembe helyezési előzményekben, és nem kérhető le egy másik sablonból. Ha egynél több sablonban szeretne titkos értéket használni, tárolja a titkos kódot egy Key Vault, és hivatkozzon a titkos kódra a paraméterfájlban. További információ: Biztonságos paraméterérték átadása az Üzembe helyezés során az Azure Key Vault használatával.
érték No A kiértékelt és kimeneti értékként visszaadott sablonnyelvi kifejezés. Adja meg az értéket vagy a másolást.
másolás No Egy kimenet egynél több értékének visszaadására szolgál. Adja meg az értéket vagy a másolást. További információ: Kimeneti iteráció ARM-sablonokban.

Példák a kimenetek használatára: Kimenetek ARM-sablonban.

A Bicepben tekintse meg a kimeneteket.

Megjegyzések és metaadatok

Megjegyzéseket és metaadatokat adhat hozzá a sablonhoz.

Megjegyzések

Beágyazott megjegyzésekhez a vagy /* ... */a parancsot használhatja//. A Visual Studio Code-ban mentse a megjegyzéseket tartalmazó paraméterfájlokat JSON-fájltípusként megjegyzésekkel (JSONC), ellenkező esetben a következő hibaüzenet jelenik meg: "A megjegyzések nem engedélyezettek a JSON-ban".

Megjegyzés

Ha az Azure CLI-vel sablonokat helyez üzembe megjegyzésekkel, használja a 2.3.0-s vagy újabb verziót, és adja meg a kapcsolót --handle-extended-json-format .

{
  "type": "Microsoft.Compute/virtualMachines",
  "apiVersion": "2023-03-01",
  "name": "[variables('vmName')]", // to customize name, change it in variables
  "location": "[parameters('location')]", //defaults to resource group location
  "dependsOn": [ /* storage account and network interface must be deployed first */
    "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
    "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
  ],

A Visual Studio Code-ban az Azure Resource Manager Tools bővítmény képes automatikusan észlelni egy ARM-sablont, és módosítani a nyelvi módot. Ha a Visual Studio Code jobb alsó sarkában megjelenik az Azure Resource Manager-sablon, használhatja a beágyazott megjegyzéseket. A beágyazott megjegyzések már nem lesznek érvénytelenként megjelölve.

Képernyőkép a Visual Studio Code-ról az Azure Resource Manager sablon módban.

A Bicepben tekintse meg a megjegyzéseket.

Metaadatok

Az objektumokat metadata szinte bárhol hozzáadhatja a sablonban. Resource Manager figyelmen kívül hagyja az objektumot, de a JSON-szerkesztő figyelmeztetheti, hogy a tulajdonság érvénytelen. Az objektumban adja meg a szükséges tulajdonságokat.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "comments": "This template was developed for demonstration purposes.",
    "author": "Example Name"
  },

A elemhez parametersadjon hozzá egy metadata tulajdonsággal rendelkező objektumot description .

"parameters": {
  "adminUsername": {
    "type": "string",
    "metadata": {
      "description": "User name for the Virtual Machine."
    }
  },

Amikor üzembe helyezi a sablont a portálon keresztül, a leírásban megadott szöveg automatikusan az adott paraméter tippjeként lesz használva.

Képernyőkép a paramétertippről Azure Portal.

A elemhez resourcesadjon hozzá egy comments elemet vagy egy objektumot metadata . Az alábbi példa egy comments elemet és egy objektumot metadata is bemutat.

"resources": [
  {
    "type": "Microsoft.Storage/storageAccounts",
    "apiVersion": "2022-09-01",
    "name": "[format('{0}{1}', 'storage', uniqueString(resourceGroup().id))]",
    "comments": "Storage account used to store VM disks",
    "location": "[parameters('location')]",
    "metadata": {
      "comments": "These tags are needed for policy compliance."
    },
    "tags": {
      "Dept": "[parameters('deptName')]",
      "Environment": "[parameters('environment')]"
    },
    "sku": {
      "name": "Standard_LRS"
    },
    "kind": "Storage",
    "properties": {}
  }
]

A esetében outputsadjon hozzá egy metadata objektumot a kimeneti értékhez.

"outputs": {
  "hostname": {
    "type": "string",
    "value": "[reference(variables('publicIPAddressName')).dnsSettings.fqdn]",
    "metadata": {
      "comments": "Return the fully qualified domain name"
    }
  },

A felhasználó által definiált függvényekhez nem lehet objektumot metadata hozzáadni.

Többsoros sztringek

A sztringeket több sorra bonthatja. Lásd például a location tulajdonságot és az alábbi JSON-példában szereplő megjegyzések egyikét.

Megjegyzés

Ha többsoros sztringekkel szeretne sablonokat üzembe helyezni, használja a Azure PowerShell vagy az Azure CLI-t. Parancssori felület esetén használja a 2.3.0-s vagy újabb verziót, és adja meg a kapcsolót --handle-extended-json-format .

A többsoros sztringek nem támogatottak, ha a sablont a Azure Portal, a DevOps-folyamaton vagy a REST API-on keresztül helyezi üzembe.

{
  "type": "Microsoft.Compute/virtualMachines",
  "apiVersion": "2023-03-01",
  "name": "[variables('vmName')]", // to customize name, change it in variables
  "location": "[
    parameters('location')
    ]", //defaults to resource group location
  /*
    storage account and network interface
    must be deployed first
  */
  "dependsOn": [
    "[resourceId('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]",
    "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
  ],

A Bicepben lásd a többsoros sztringeket.

languageVersion 2.0

Megjegyzés

Az éles környezetekben nem ajánlott a languageVersion végpontok -experimental használata, mert a kísérleti funkciók bármikor módosíthatók.

Megjegyzé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.

A languageVersion 2.0 használatához adja hozzá "languageVersion": "2.0" a sablont:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "languageVersion": "2.0",
  "contentVersion": "1.0.0.0",
  "resources": {
    "<name-of-the-resource>": {
      ...
    }
  }
}

A languageVersion 2.0-val kapcsolatos fejlesztések és módosítások:

Következő lépések