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 true a ( ) az erőforrást az üzembe helyezés során hozza létre. Amikor false a ( ) 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 true a , az érték szerepel az üzembe helyezés kimenetében. Amikor false a 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.
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 parameters
adjon 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.
A elemhez resources
adjon 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 outputs
adjon 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:
- Használjon szimbolikus nevet az ARM JSON-sablonban. További információ: Szimbolikus név használata.
- Használjon szimbolikus nevet az erőforrás-másolási hurkokban. Lásd: Szimbolikus név használata.
- Használjon szimbolikus nevet a tömbökben
dependsOn
. Lásd: A DependsOn és a Depend on resources in a loop ( Erőforrások függése egy ciklusban). - Használjon szimbolikus nevet az erőforrás neve helyett a
reference
függvényben. Lásd: referencia. - Egy referenciafüggvény, amely egy erőforráscsoport futásidejű állapotát képviselő objektumtömböt ad vissza. Lásd a hivatkozásokat.
- A "meglévő" erőforrástulajdonság használatával deklarálhatja a meglévő erőforrásokat az ARM számára az erőforrás üzembe helyezése helyett olvasásra. Lásd: Meglévő erőforrások deklarálása.
- Felhasználó által definiált típusok létrehozása. Lásd: Típusdefiníció.
- További aggregátumtípus-érvényesítési korlátozások, amelyeket paraméterekben és kimenetekben kell használni.
- A tulajdonság alapértelmezett értéke
expressionEvaluationOptions
.inner
Az értékouter
le van tiltva. Lásd: Kifejezésértékelési hatókör beágyazott sablonokban. - A
deployment
függvény a tulajdonságok egy korlátozott részhalmazát adja vissza. Lásd: üzembe helyezés. - Ha a Deployments erőforrást szimbolikus névvel rendelkező üzembe helyezésben használják, használja az apiVersion
2020-09-01
vagy újabb verziót. - Az erőforrás-definícióban már nincs szükség a kifejezéseken belüli értékek dupla beágyazására. Lásd: Feloldókarakterek.
Következő lépések
- A különböző megoldástípusokhoz használható teljes sablonok megtekintéséhez lásd: Azure gyorsindítási sablonok.
- A sablonon belül használható függvényekkel kapcsolatos részletekért lásd: ARM-sablonfüggvények.
- Ha több sablont szeretne egyesíteni az üzembe helyezés során, tekintse meg a Csatolt és beágyazott sablonok használata Azure-erőforrások üzembe helyezésekor című témakört.
- A sablonok létrehozásával kapcsolatos javaslatokért tekintse meg az ARM-sablonok ajánlott eljárásait.
- A gyakori kérdésekre adott válaszokért tekintse meg az ARM-sablonokkal kapcsolatos gyakori kérdéseket.