Vytvoření souboru parametrů Resource Manager
Místo předávání parametrů jako vložených hodnot ve skriptu můžete použít soubor JSON, který obsahuje hodnoty parametrů. Tento článek ukazuje, jak vytvořit soubor parametrů, který použijete se šablonou JSON.
Tip
Doporučujeme Bicep , protože nabízí stejné funkce jako šablony ARM a syntaxe se snadněji používá. Další informace najdete v tématu Soubory parametrů.
Soubor parametrů
Soubor parametrů používá následující formát:
{
"$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>"
}
}
}
Stojí za zmínku, že soubor parametrů ukládá hodnoty parametrů jako prostý text. Z bezpečnostních důvodů se tento přístup nedoporučuje pro citlivé hodnoty, jako jsou hesla. Pokud musíte předat parametr s citlivou hodnotou, ponechte hodnotu v trezoru klíčů. Pak do souboru parametrů přidejte odkaz na trezor klíčů. Během nasazování se citlivá hodnota bezpečně načte. Další informace najdete v tématu Použití Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazení.
Následující soubor parametrů obsahuje hodnotu prostého textu a citlivou hodnotu, která je uložená v trezoru klíčů.
{
"$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>"
}
}
}
}
Další informace o používání hodnot z trezoru klíčů najdete v tématu Použití Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazování.
Definování hodnot parametrů
Pokud chcete zjistit, jak definovat názvy a hodnoty parametrů, otevřete šablonu JSON a projděte si parameters
oddíl. Následující příklad ukazuje parametry šablony JSON.
"parameters": {
"storagePrefix": {
"type": "string",
"maxLength": 11
},
"storageAccountType": {
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Standard_ZRS",
"Premium_LRS"
]
}
}
V souboru parametrů je prvním detailem, který si všimnete, název každého parametru. Názvy parametrů v souboru parametrů se musí shodovat s názvy parametrů v šabloně.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
},
"storageAccountType": {
}
}
}
Všimněte si typu parametru. Typy parametrů v souboru parametrů musí používat stejné typy jako vaše šablona. V tomto příkladu jsou oba typy parametrů řetězce.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storagePrefix": {
"value": ""
},
"storageAccountType": {
"value": ""
}
}
}
Zkontrolujte v šabloně parametry s výchozí hodnotou. Pokud má parametr výchozí hodnotu, můžete zadat hodnotu v souboru parametrů, ale není to povinné. Hodnota souboru parametrů přepíše výchozí hodnotu šablony.
{
"$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.
}
}
}
Zkontrolujte povolené hodnoty šablony a případná omezení, například maximální délku. Tyto hodnoty určují rozsah hodnot, které můžete parametru zadat. V tomto příkladu storagePrefix
může obsahovat maximálně 11 znaků a storageAccountType
musí zadat povolenou hodnotu.
{
"$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"
}
}
}
Poznámka
Soubor parametrů může obsahovat pouze hodnoty parametrů, které jsou definované v šabloně. Pokud soubor parametrů obsahuje další parametry, které neodpovídají parametrům šablony, zobrazí se chyba.
Formáty typů parametrů
Následující příklad ukazuje formáty různých typů parametrů: string, integer, boolean, array a object.
{
"$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"
}
}
}
}
Nasazení šablony se souborem parametrů
Z Azure CLI předáte místní soubor parametrů pomocí @
a názvu souboru parametru. Například, @storage.parameters.json
.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file storage.json \
--parameters @storage.parameters.json
Další informace najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure CLI.
Z Azure PowerShell předáte soubor místního parametru pomocí parametru TemplateParameterFile
.
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.json `
-TemplateParameterFile C:\MyTemplates\storage.parameters.json
Další informace najdete v tématu Nasazení prostředků pomocí šablon ARM a Azure PowerShell.
Poznámka
Soubor parametrů není možné použít v okně vlastní šablony na portálu.
Tip
Pokud používáte projekt Skupina prostředků Azure v sadě Visual Studio, ujistěte se, že je v souboru parametru akce sestavení nastavená hodnotaObsah.
Název souboru
Obecná konvence vytváření názvů pro soubor parametrů spočívá v zahrnutí parametrů do názvu šablony. Pokud má například vaše šablona název azuredeploy.json, má soubor parametrů název azuredeploy.parameters.json. Tato konvence vytváření názvů vám pomůže zobrazit propojení mezi šablonou a parametry.
K nasazení do různých prostředí vytvoříte více než jeden soubor parametrů. Při pojmenování souborů parametrů identifikujte jejich použití, jako je vývoj a produkce. K nasazení prostředků použijte například azuredeploy.parameters-dev.json a azuredeploy.parameters-prod.json .
Priorita parametrů
Ve stejné operaci nasazení můžete použít vložené parametry a soubor místních parametrů. Můžete například zadat některé hodnoty v souboru místních parametrů a přidat další hodnoty vložené během nasazení. Pokud zadáte hodnoty parametru v místním souboru parametrů i vloženého souboru, bude mít přednost vložená hodnota.
Je možné použít externí soubor parametrů zadáním identifikátoru URI k souboru. Když použijete externí soubor parametrů, nemůžete předat další hodnoty vložené ani z místního souboru. Všechny vložené parametry se ignorují. Zadejte všechny hodnoty parametrů v externím souboru.
Konflikty názvů parametrů
Pokud vaše šablona obsahuje parametr se stejným názvem jako jeden z parametrů v příkazu PowerShellu, PowerShell zobrazí parametr z vaší šablony s příponou FromTemplate
. Například parametr s názvem ResourceGroupName
v šabloně koliduje s parametrem ResourceGroupName
v rutině New-AzResourceGroupDeployment . Zobrazí se výzva k zadání hodnoty pro ResourceGroupNameFromTemplate
. Abyste se vyhnuli tomuto nejasnostem, použijte názvy parametrů, které se nepoužívají pro příkazy nasazení.
Další kroky
- Další informace o definování parametrů v šabloně najdete v tématu Parametry v šablonách ARM.
- Další informace o používání hodnot z trezoru klíčů najdete v tématu Použití Azure Key Vault k předání hodnoty zabezpečeného parametru během nasazování.