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űvelete Tartalom é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 FromTemplate
együtt jeleníti meg. A sablonban elnevezett ResourceGroupName
paraméter például ütközik a ResourceGroupName
New-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
- A paraméterek sablonban való definiálásáról további információt az ARM-sablonok paraméterei című témakörben talál.
- 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.