Adattípusok ARM-sablonokban

Ez a cikk az Azure Resource Manager-sablonokban (ARM-sablonokban) támogatott adattípusokat ismerteti.

Támogatott típusok

Arm-sablonon belül az alábbi adattípusokat használhatja:

  • array
  • logikai
  • egész
  • object
  • secureObject
  • securestring
  • sztring

Tömbök

A tömbök bal oldali szögletes zárójeltel ([) kezdődnek, és jobb oldali szögletes zárójeltel (]) végződnek. Egy tömb egy vagy több sorban deklarálható. Minden elem vesszővel van elválasztva.

"parameters": {
  "exampleArray": {
    "type": "array",
    "defaultValue": [
      1,
      2,
      3
    ]
  }
},

"outputs": {
  "arrayOutput": {
    "type": "array",
    "value": "[variables('exampleArray')]"
  },
  "firstExampleArrayElement": {
    "type": "int",
    "value": "[parameters('exampleArray')[0]]"
  }
}

A tömb elemei lehetnek azonos vagy különböző típusúak.

"variables": {
  "mixedArray": [
    "[resourceGroup().name]",
    1,
    true,
    "example string"
  ]
}

"outputs": {
  "arrayOutput": {
    "type": "array",
    "value": "[variables('mixedArray')]"
  },
  "firstMixedArrayElement": {
    "type": "string",
    "value": "[variables('mixedArray')[0]]"
  }
}

Logikai érték

Logikai értékek megadásakor használja true vagy false. Ne vegye körül az értéket idézőjelekkel.

"parameters": {
  "exampleBool": {
    "type": "bool",
    "defaultValue": true
  }
},

Egész számok

Egész számértékek megadásakor ne használjon idézőjeleket.

"parameters": {
  "exampleInt": {
    "type": "int",
    "defaultValue": 1
  }
}

Beágyazott paraméterként átadott egész számok esetében az értékek tartományát korlátozhatja az üzembe helyezéshez használt SDK vagy parancssori eszköz. Ha például a PowerShell használatával helyez üzembe egy sablont, az egész számtípusok a -2147483648 és a 2147483647 között mozoghatnak. A korlátozás elkerülése érdekében adjon meg nagy egész számértékeket egy paraméterfájlban. Az erőforrástípusok a saját korlátaikat alkalmazzák az egész számok tulajdonságaira.

Objektumokat

Az objektumok bal oldali kapcsos zárójeltel ({) kezdődnek, és jobb oldali kapcsos zárójeltel (}) végződnek. Egy objektum minden tulajdonsága key a következőkből áll: és value. A key kettős value idézőjelek közé és kettősponttal (:) elválasztva vannak egymástól. Minden tulajdonságot vessző választ el egymástól.

"parameters": {
  "exampleObject": {
    "type": "object",
    "defaultValue": {
      "name": "test name",
      "id": "123-abc",
      "isCurrent": true,
      "tier": 1
    }
  }
}

A tulajdonságot pont jelöléssel ellátott objektumból is lekérheti.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "exampleObject": {
            "type": "object",
            "defaultValue": {
                "name": "test name",
                "id": "123-abc",
                "isCurrent": true,
                "tier": 1
            }
        }
    },
    "resources": [
    ],
    "outputs": {
        "nameFromObject": {
            "type": "string",
            "value": "[parameters('exampleObject').name]"
        }
    }
}

A JSON-ban az objektum nulla vagy több kulcs/érték pár rendezetlen gyűjteménye. A rendezés a megvalósítástól függően eltérő lehet. A Bicep items() függvény például betűrendbe rendezi az objektumokat. Más helyeken az eredeti sorrend megőrizhető. Emiatt a nem determinizmus miatt ne feltételezze az objektumkulcsok sorrendjét a kód írásakor, amely az üzembehelyezési paraméterekkel és kimenetekkel kommunikál.

Sztringek

A sztringek kettős idézőjelekkel vannak megjelölve.

"parameters": {
  "exampleString": {
    "type": "string",
    "defaultValue": "test value"
  }
},

Biztonságos sztringek és objektumok

A biztonságos sztring formátuma megegyezik a sztring formátumával, a biztonságos objektum pedig ugyanazt a formátumot használja, mint az objektum. Ha egy paramétert biztonságos sztringre vagy biztonságos objektumra állít be, a paraméter értéke nem lesz mentve az üzembe helyezési előzményekbe, és nem lesz naplózva. Ha azonban a biztonságos értéket olyan tulajdonságra állítja be, amely nem számít biztonságos értékre, az érték nem lesz védett. Ha például egy biztonságos sztringet egy címkére állít be, az érték egyszerű szövegként lesz tárolva. Használjon biztonságos sztringeket jelszavakhoz és titkos kódokhoz.

Az alábbi példa két biztonságos paramétert mutat be.

"parameters": {
  "password": {
    "type": "securestring"
  },
  "configValues": {
    "type": "secureObject"
  }
}

Megjegyzés:

Ne használjon biztonságos sztringeket vagy objektumokat kimeneti értékként. Ha biztonsági értéket ad meg kimeneti értékként, az érték nem jelenik meg az üzembe helyezési előzményekben, és nem kérhető le egy másik sablonból. Ehelyett mentse a biztonságos értéket egy kulcstartóban, és adja át paraméterként a kulcstartóból.

További lépések

A sablonszintaxisról az ARM-sablonok szerkezetének és szintaxisának ismertetése című témakörben olvashat.