Megosztás a következőn keresztül:


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

Ahelyett, hogy beágyazott értékekként ad át paramétereket 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 ugyanazokkal a képességekkel rendelkezik, mint az ARM-sablonok, és a szintaxis használata egyszerűbb. További információkért tekintse meg a paraméterfájlokat.

Paraméterfájl

Egy 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ó: Az Azure Key Vault használata biztonságos paraméterértékek átadásához az üzembe helyezés során.

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 biztonságos paraméterértékek átadásához az üzembe helyezés során.

Paraméterértékek definiálása

A paraméterek nevének és értékeinek 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ájl paraméterneveinek meg kell egyeznie a sablon paraméternevével.

{
  "$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ájl paramétertípusainak ugyanazokat a típusokat kell használniuk, mint a sablon. 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ülírja 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 karakter hosszúságú lehet, 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"
    }
  }
}

Feljegyzé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üzenet jelenik meg.

Paramétertípusok formátumai

Az alábbi példa a különböző paramétertípusok formátumát mutatja be: sztring, egész szám, logikai, 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 egy helyi paraméterfájlt ad át 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 Azure CLI-vel.

Az Azure PowerShellben egy helyi paraméterfájlt ad át a TemplateParameterFile paraméter használatával.

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-lel.

Feljegyzés

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

Tipp.

Ha az Azure Resource Group-projektet használja a Visual Studióban, 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ójának tartalmaznia kell a paramétereket a sablon nevében. 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 üzemet. Például azuredeploy.parameters-dev.json és azuredeploy.parameters-prod.json használatával telepíthet erőforrásokat.

Paraméter elsőbbsége

Ugyanabban az üzembe helyezési műveletben beágyazott paramétereket és helyi paraméterfájlt is használhat. Megadhat például néhány értéket a helyi paraméterfájlban, és az üzembe helyezés során más beágyazott értékeket is hozzáadhat. Ha egy paraméter értékeit a helyi paraméterfájlban és a beágyazott fájlban is megadja, 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 postfixtel FromTemplateegyütt jeleníti meg. A sablonban elnevezett 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 következőhöz ResourceGroupNameFromTemplate: . A félreértés elkerülése érdekében használja az üzembehelyezési parancsokhoz nem használt paraméterneveket.

Következő lépések