Create Resource Manager parameter file

Paraméterek beágyazott értékként való átadása helyett használhat egy olyan JSON-fájlt, amely tartalmazza a paraméterértékeket. Ez a cikk azt mutatja be, hogy miként hozhat létre egy JSON-sablonnal használt paraméterfájlt.

Paraméterfájl

A paraméterfájl formátuma a következő:

{
  "$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>"
    }
  }
}

Figyelje meg, hogy a paraméterfájl egyszerű szövegként tárolja a paraméterértékeket. Ez a megközelítés nem bizalmas értékek, például erőforrás-termékváltozatok esetén működik. Az egyszerű szöveg nem működik bizalmas értékek, például jelszavak esetén. Ha bizalmas értéket tartalmazó paramétert kell átadnia, tárolja az értéket egy kulcstárolóban. Ezután hivatkozhat a paraméterfájlban található kulcstárra. A bizalmas értéket a rendszer biztonságosan beolvassa a telepítés során.

Az alábbi paraméterfájl egyszerű szöveges értéket és egy kulcstároló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>"
      }
    }
  }
}

A kulcstárban található értékek használatával kapcsolatos további információkért lásd: Biztonságos paraméterérték megadása a telepítés során az Azure Kulcstár használatával.

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

A paraméternevek és -értékek definiálási mikéntjének meghatározásához nyissa meg a JSON-sablont, és tekintse át a parameters szakaszt. 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ő észrevehető részlet az egyes paraméterek neve. A paraméterfájlban szereplő paraméterneveknek meg kell egyezniük 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 található paramétertípusoknak a sablonnal azonos típusúnak kell lennie. Ebben a példában mindkét paramétertípus karakterlánc.

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

Ellenőrizze, hogy a sablonban vannak-e alapértelmezett értékű paraméterek. Ha egy paraméternek van alapértelmezett értéke, meg lehet adni 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 korlátozásait, például a maximális hosszt. Ezek az értékek határozzák meg a paraméterként megadható értékek tartományát. Ebben a példában legfeljebb 11 karakter lehet, és meg kell storagePrefixstorageAccountType adni 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 egyeznek a sablon paramétereivel, hibaüzenet jelenik meg.

Paramétertípus-formátumok

Az alábbi példa a különböző paramétertípusok formátumát mutatja be: karakterlánc, egész, 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"
      }
    }
  }
}

Deploy template with parameter file

Az Azure CLI szolgáltatásból egy helyi paraméterfájlt és a @ paraméterfájl nevét használva adja át. 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ót az Erőforrások üzembe helyezése új sablonokkal ARM Azure CLIsegítségével.

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

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

További információért lásd: Erőforrások telepítése ARM sablonokkal és Azure PowerShell.

Megjegyzés

Nem lehet paraméterfájlt használni az egyéni sablonszállal a portálon.

Tipp

Ha az Azure Resource Group projektet használja az Visual Studio-ban,győződjön meg arról, hogy a paraméterfájl build-művelete Tartalom beállításra van állítva.

Fájlnév

A paraméterfájl általános elnevezési konvenciója, hogy paramétereket tartalmaz 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 stb.

Ha különböző környezetekben való telepítéshez több paraméterfájlt hoz létre. A paraméterfájlok elnevezésekor azonosítsa a használatukat, például a fejlesztést és a fejlesztést. Erőforrások telepítéséhez például használja az azuredeploy.parameters-dev.json és az azuredeploy.parameters-prod.json szolgáltatásokat.

A paraméter elsőbbségi sorrendje

Beágyazott paramétereket és helyi paraméterfájlt is használhat ugyanabban a telepítési műveletben. Megadhat például bizonyos értékeket a helyi paraméterfájlban, és további értékeket adhat hozzá beágyazottként a telepítés során. Ha a helyi paraméterfájlban és a beágyazott paraméterben is a paraméter értékét adja meg, a beágyazott érték elsőbbséget élvez.

Külső paraméterfájlt is használhat, ha az URI-t a fájlhoz biztosítja. Külső paraméterfájl használata esetén nem tud más értékeket átadni sem beágyazott, sem helyi fájlból. A program az összes beágyazott paramétert figyelmen kívül hagyja. Adja meg a külső fájl összes paraméterértékét.

Paraméternévütközések

Ha sablonja tartalmaz egy paramétert, amely a PowerShell parancs egyik paraméterével azonos néven szerepel, a PowerShell a sablonból származó paramétert az utótaggal mutatja FromTemplate be. A sablonban megnevezett paraméter például ütközik a ResourceGroupNameResourceGroupNameResourceGroupName parancsmag paraméterével. A rendszer kéri, hogy adjon meg értéket a ResourceGroupNameFromTemplate számára. A félreértések elkerülése érdekében olyan paraméterneveket használjon, amelyek nem használatosak az üzembe helyezési parancsokhoz.

További lépések

  • A paraméterek sablonban való definiálása a Parameters in ARM (Paraméterek) ARM tartalmaz.
  • A kulcstárban található értékek használatával kapcsolatos további információkért lásd: Biztonságos paraméterérték megadása a telepítés során az Azure Kulcstár használatával.