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 FromTemplate
jeleníti meg. A sablonban található 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 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
- További információ a paraméterek sablonban való definiálásáról: Paraméterek ARM-sablonokban.
- 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.