Resource Manager paraméterfájl létrehozása

Ahelyett, hogy paramétereket ad át beágyazott értékekként a szkriptben, használhat egy JSON-fájlt, amely tartalmazza a paraméterértékeket. Ez a cikk bemutatja, hogyan hozhat létre egy JSON-sablonnal használt paraméterfájlt.

Tipp

A Bicep használatát javasoljuk, mert ugyanazokat a képességeket kínálja, mint az ARM-sablonok, és a szintaxis használata is egyszerűbb. További információ: paraméterfájlok.

Paraméterfájl

A paraméterfájl a következő formátumot használja:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "<first-parameter-name>": {
      "value": "<first-value>"
    },
    "<second-parameter-name>": {
      "value": "<second-value>"
    }
  }
}

Érdemes megjegyezni, hogy a paraméterfájl egyszerű szövegként menti a paraméterértékeket. Biztonsági okokból ez a megközelítés nem ajánlott bizalmas értékek, például jelszavak esetén. Ha bizalmas értékkel rendelkező paramétert kell átadnia, tartsa meg az értéket egy kulcstartóban. Ezután a paraméterfájlban adjon meg egy hivatkozást a kulcstartóra. Az üzembe helyezés során a rendszer biztonságosan lekéri a bizalmas értéket. 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.

A következő paraméterfájl egy egyszerű szöveges értéket és egy kulcstartóban tárolt bizalmas értéket tartalmaz.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "<first-parameter-name>": {
      "value": "<first-value>"
    },
    "<second-parameter-name>": {
      "reference": {
        "keyVault": {
          "id": "<resource-id-key-vault>"
        },
        "secretName": "<secret-name>"
      }
    }
  }
}

További információ a kulcstartó értékeinek használatáról: Az Azure Key Vault használata a biztonságos paraméterértékek átadásához az üzembe helyezés során.

Paraméterértékek meghatározása

A paraméterek nevének és értékének meghatározásához nyissa meg a JSON-sablont, és tekintse át a szakaszt parameters . Az alábbi példa a JSON-sablon paramétereit mutatja be.

"parameters": {
  "storagePrefix": {
    "type": "string",
    "maxLength": 11
  },
  "storageAccountType": {
    "type": "string",
    "defaultValue": "Standard_LRS",
    "allowedValues": [
    "Standard_LRS",
    "Standard_GRS",
    "Standard_ZRS",
    "Premium_LRS"
    ]
  }
}

A paraméterfájlban az első észreveendő részlet az egyes paraméterek neve. A paraméterfájlban szereplő paraméterneveknek meg kell egyeznie a sablonban szereplő paraméternevekkel.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
    },
    "storageAccountType": {
    }
  }
}

Figyelje meg a paraméter típusát. A paraméterfájlban lévő paramétertípusoknak ugyanazokat a típusokat kell használniuk, mint a sablonnak. Ebben a példában mindkét paramétertípus sztring.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "value": ""
    },
    "storageAccountType": {
      "value": ""
    }
  }
}

Ellenőrizze a sablonban az alapértelmezett értékkel rendelkező paramétereket. Ha egy paraméter alapértelmezett értékkel rendelkezik, megadhat egy értéket a paraméterfájlban, de ez nem kötelező. A paraméterfájl értéke felülbírálja a sablon alapértelmezett értékét.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "value": "" // This value must be provided.
    },
    "storageAccountType": {
      "value": "" // This value is optional. Template will use default value if not provided.
    }
  }
}

Ellenőrizze a sablon engedélyezett értékeit és az esetleges korlátozásokat, például a maximális hosszt. Ezek az értékek határozzák meg a paraméterhez megadható értékek tartományát. Ebben a példában legfeljebb 11 karakterből állhat, storagePrefix és storageAccountType meg kell adnia egy engedélyezett értéket.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storagePrefix": {
      "value": "storage"
    },
    "storageAccountType": {
      "value": "Standard_ZRS"
    }
  }
}

Megjegyzés

A paraméterfájl csak a sablonban definiált paraméterek értékeit tartalmazhatja. Ha a paraméterfájl olyan további paramétereket tartalmaz, amelyek nem felelnek meg a sablon paramétereinek, hibaüzenetet kap.

Paramétertípusok formátumai

Az alábbi példa a különböző paramétertípusok formátumait mutatja be: sztring, egész szám, logikai érték, tömb és objektum.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "exampleString": {
      "value": "test string"
    },
    "exampleInt": {
      "value": 4
    },
    "exampleBool": {
      "value": true
    },
    "exampleArray": {
      "value": [
        "value 1",
        "value 2"
      ]
    },
    "exampleObject": {
      "value": {
        "property1": "value1",
        "property2": "value2"
      }
    }
  }
}

Sablon üzembe helyezése paraméterfájllal

Az Azure CLI-ben átad egy helyi paraméterfájlt a használatával @ és a paraméterfájl nevével. Például: @storage.parameters.json.

az deployment group create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --template-file storage.json \
  --parameters @storage.parameters.json

További információ: Erőforrások üzembe helyezése ARM-sablonokkal és az Azure CLI-vel.

A Azure PowerShell egy helyi paraméterfájlt a paraméterrel ad TemplateParameterFile át.

New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
  -TemplateFile C:\MyTemplates\storage.json `
  -TemplateParameterFile C:\MyTemplates\storage.parameters.json

További információ: Erőforrások üzembe helyezése ARM-sablonokkal és Azure PowerShell.

Megjegyzés

Paraméterfájl nem használható az egyéni sablonpanellel a portálon.

Tipp

Ha a Visual Studióban használja az Azure-erőforráscsoport-projektet, győződjön meg arról, hogy a paraméterfájl buildelési műveleteTartalom értékre van állítva.

Fájlnév

A paraméterfájl általános elnevezési konvenciója, hogy paramétereket tartalmazzon a sablonnévben. Ha például a sablon neve azuredeploy.json, a paraméterfájl neve azuredeploy.parameters.json. Ez az elnevezési konvenció segít a sablon és a paraméterek közötti kapcsolat megtekintésében.

A különböző környezetekben való üzembe helyezéshez több paraméterfájlt is létre kell hoznia. Amikor elnevezi a paraméterfájlokat, azonosítsa azok használatát, például a fejlesztést és az éles használatot. Az erőforrások üzembe helyezéséhez használja például az azuredeploy.parameters-dev.json és az azuredeploy.parameters-prod.json parancsot.

Paraméter elsőbbségi sorrendje

Ugyanabban az üzembehelyezési műveletben beágyazott paramétereket és helyi paraméterfájlokat is használhat. Megadhat például néhány értéket a helyi paraméterfájlban, és az üzembe helyezés során további értékeket adhat hozzá beágyazott módon. Ha a helyi paraméterfájlban és a beágyazott fájlban is megad értékeket egy paraméterhez, a beágyazott érték elsőbbséget élvez.

Külső paraméterfájlt is használhat, ha megadja az URI-t a fájlnak. Külső paraméterfájl használatakor nem adhat át más értékeket sem beágyazott, sem helyi fájlból. A rendszer figyelmen kívül hagyja az összes beágyazott paramétert. Adja meg a külső fájl összes paraméterértékét.

Paraméternév-ütközések

Ha a sablon tartalmaz egy, a PowerShell-parancsban szereplő paraméterek egyikével megegyező nevű paramétert, a PowerShell a sablon paraméterét a postfix paraméterrel FromTemplatejeleníti meg. A sablonban található ResourceGroupName paraméter például ütközik a ResourceGroupNameNew-AzResourceGroupDeployment parancsmag paraméterével. A rendszer kéri, hogy adjon meg egy értéket a számára ResourceGroupNameFromTemplate. A félreértések elkerülése érdekében használja az üzembehelyezési parancsokhoz nem használt paraméterneveket.

Következő lépések