Sdílet prostřednictvím


Vytvoření souboru parametrů pro nasazení Bicep

V tomto článku se dozvíte, jak vytvořit soubor parametrů, který můžete použít místo předávání parametrů jako vložené hodnoty ve skriptu. Můžete použít soubor parametrů Bicep s příponou .bicepparam souboru nebo soubor parametrů JSON, který obsahuje hodnotu parametru.

Poznámka:

Soubory parametrů Bicep se podporují jenom v rozhraní příkazového řádku Bicep verze 0.18.4 nebo novější, Azure CLI verze 2.47.0 nebo novější a Azure PowerShell verze 9.7.1 nebo novější.

Jeden soubor Bicep může mít přiřazených více souborů parametrů Bicep. Každý soubor parametrů Bicep je však určený pro jeden konkrétní soubor Bicep. Tuto relaci můžete vytvořit použitím using příkazu v souboru parametrů Bicep.

Soubory parametrů Bicep můžete zkompilovat do souborů parametrů JSON, které můžete nasadit pomocí souboru Bicep. Další informace najdete na webu build-params. Můžete také dekompilovat soubor parametrů JSON do souboru parametrů Bicep. Další informace najdete na webu decompile-params.

Soubor parametrů

Soubor parametrů používá následující formát:

using '<path>/<file-name>.bicep'

param <first-parameter-name> = <first-value>
param <second-parameter-name> = <second-value>

Tento příkaz můžete použít using pomocí souboru Bicep, šablon Azure Resource Manageru JSON, modulů Bicep a specifikací šablon. Příklad:

using './main.bicep'
...
using './azuredeploy.json'
...
using 'br/public:avm/res/storage/storage-account:0.9.0' 
...
using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
...
using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
...

Další informace naleznete v tématu Using příkaz.

Výrazy můžete použít s výchozí hodnotou. Příklad:

using 'main.bicep'

param storageName = toLower('MyStorageAccount')
param intValue = 2 + 2

Proměnné prostředí můžete odkazovat jako hodnoty parametrů. Příklad:

using './main.bicep'

param intFromEnvironmentVariables = int(readEnvironmentVariable('intEnvVariableName'))

Můžete definovat a používat proměnné. K použití proměnných v .bicepparam souborech musíte použít rozhraní příkazového řádku Bicep verze 0.21.X nebo novější. Podívejte se na následující příklady:

using './main.bicep'

var storagePrefix = 'myStorage'
param primaryStorageName = '${storagePrefix}Primary'
param secondaryStorageName = '${storagePrefix}Secondary'
using './main.bicep'

var testSettings = {
  instanceSize: 'Small'
  instanceCount: 1
}

var prodSettings = {
  instanceSize: 'Large'
  instanceCount: 4
}

param environmentSettings = {
  test: testSettings
  prod: prodSettings
}

Poznámka:

Soubor parametrů ukládá hodnoty parametrů jako prostý text. Z bezpečnostních důvodů nedoporučujeme tento přístup používat s citlivými hodnotami, jako jsou hesla.

Pokud potřebujete předat parametr s citlivou hodnotou, měli byste zachovat hodnotu v trezoru klíčů. Místo přidání citlivé hodnoty do souboru parametrů ji načtěte pomocí getSecret funkce . Další informace najdete v tématu Použití služby Azure Key Vault k předání tajného kódu jako parametru během nasazení Bicep.

Formáty typů parametrů

Následující příklad ukazuje formáty různých typů parametrů: string, integer, Boolean, array a object.

using './main.bicep'

param exampleString = 'test string'
param exampleInt = 2 + 2
param exampleBool = true
param exampleArray = [
  'value 1'
  'value 2'
]
param exampleObject = {
  property1: 'value 1'
  property2: 'value 2'
}

Pomocí syntaxe Bicep deklarujte objekty a pole.

Název souboru

Přípona souboru parametrů Bicep je .bicepparam.

Pokud chcete provést nasazení do více prostředí, vytvoříte více než jeden soubor parametrů. Pokud používáte více souborů parametrů, označte je podle jejich použití. Například k nasazení prostředků použijte popisek main.dev.bicepparam pro vývoj a label main.prod.bicepparam pro produkční prostředí.

Definování hodnot parametrů

Chcete-li zjistit, jak definovat názvy a hodnoty parametrů, otevřete váš soubor Bicep. Podívejte se na část parametrů v souboru Bicep. Následující příklady ukazují parametry ze souboru Bicep s názvem main.bicep:

@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_ZRS'
  'Premium_LRS'
])
param storageAccountType string = 'Standard_LRS'

V souboru parametrů vyhledejte název každého parametru. Názvy parametrů v souboru parametrů musí odpovídat názvům parametrů v souboru Bicep.

using 'main.bicep'

param storagePrefix
param storageAccountType

Příkaz using prováže soubor parametrů Bicep na soubor Bicep. Další informace naleznete v tématu Using příkaz.

Když zadáte klíčové slovo param v editoru Visual Studio Code, zobrazí se výzva k zadání dostupných parametrů a jejich popisů z propojeného souboru Bicep.

Snímek obrazovky s výzvou dostupných parametrů

Když najedete myší na param název, zobrazí se datový typ a popis parametru.

Snímek obrazovky s datovým typem a popisem parametru

Zkontrolujte typ parametru, protože typy parametrů v souboru parametrů musí používat stejné typy jako váš soubor Bicep. V tomto příkladu jsou oba typy parametrů řetězce:

using 'main.bicep'

param storagePrefix = ''
param storageAccountType = ''

V souboru Bicep zkontrolujte parametry, které obsahují výchozí hodnotu. 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 souboru Bicep.

using 'main.bicep'

param storagePrefix = '' // This value must be provided.
param storageAccountType = '' // This value is optional. Bicep uses default value if not provided.

Pokud chcete zjistit, jestli existují nějaká omezení, jako je maximální délka, zkontrolujte povolené hodnoty souboru Bicep. Povolené hodnoty určují rozsah hodnot, které můžete zadat pro parametr. V tomto příkladu storagePrefix může mít maximálně 11 znaků a storageAccountType musí zadat povolenou hodnotu.

using 'main.bicep'

param storagePrefix = 'storage'
param storageAccountType = 'Standard_ZRS'

Vygenerování souboru parametrů

Soubor parametrů můžete vytvořit pomocí editoru Visual Studio Code nebo rozhraní příkazového řádku Bicep. Oba nástroje umožňují vygenerovat soubor parametrů pomocí souboru Bicep. Viz vygenerování souboru parametrů pro metodu Visual Studio Code a vygenerovat soubor parametrů pro metodu Bicep CLI.

Soubor parametrů sestavení Bicep

Z rozhraní příkazového řádku Bicep můžete vytvořit soubor parametrů Bicep do souboru parametrů JSON. Další informace naleznete v tématu Soubor parametrů sestavení.

Nasazení souboru Bicep se souborem parametrů

Azure CLI

Z Azure CLI můžete předat soubor parametrů s nasazením souboru Bicep.

Soubor Bicep můžete nasadit pomocí souboru parametrů Bicep pomocí Azure CLI verze 2.53.0 nebo novější a rozhraní příkazového řádku Bicep verze 0.22.X nebo novější. S příkazem using v souboru parametrů Bicep není nutné při zadávání souboru parametrů Bicep pro --parameters přepínač zadat --template-file přepínač.

az deployment group create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --parameters storage.bicepparam

V rámci stejné operace nasazení můžete použít vložené parametry a soubor parametrů umístění. Příklad:

az deployment group create \
  --name ExampleDeployment \
  --resource-group ExampleGroup \
  --parameters storage.bicepparam \
  --parameters storageAccountType=Standard_LRS

Další informace najdete v tématu Nasazení souborů Bicep pomocí Azure CLI.

Azure PowerShell

V Azure PowerShellu předejte soubor místních parametrů pomocí parametru TemplateParameterFile .

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

V rámci stejné operace nasazení můžete použít vložené parametry a soubor parametrů umístění. Příklad:

New-AzResourceGroupDeployment `
  -Name ExampleDeployment `
  -ResourceGroupName ExampleResourceGroup `
  -TemplateFile C:\MyTemplates\storage.bicep `
  -TemplateParameterFile C:\MyTemplates\storage.bicepparam `
  -storageAccountType Standard_LRS

Další informace najdete v tématu Nasazení souborů Bicep pomocí Azure PowerShellu. K nasazení .bicep souborů potřebujete Azure PowerShell verze 5.6.0 nebo novější.

Priorita parametru

Ve stejné operaci nasazení můžete použít vložené parametry a místní soubor 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é, bude mít přednost vložená hodnota.

I když se soubory externích parametrů Bicep v současné době nepodporují, můžete použít externí soubor parametrů JSON tak, že do souboru poskytnete identifikátor URI. Při použití externího souboru parametrů zadejte všechny hodnoty parametrů v externím souboru. Pokud používáte externí soubor, nemůžete předat jiné hodnoty vložené nebo z místního souboru a všechny vložené parametry se ignorují.

Konflikty názvů parametrů

Pokud váš soubor Bicep obsahuje parametr se stejným názvem jako jeden z parametrů v příkazu Azure PowerShellu, Azure PowerShell zobrazí parametr ze souboru Bicep s příponou FromTemplate . Pokud například parametr pojmenovaný ResourceGroupName v souboru Bicep koliduje s ResourceGroupName parametrem v rutiněNew-AzResourceGroupDeployment, zobrazí se výzva k zadání hodnoty .ResourceGroupNameFromTemplate Abyste se vyhnuli tomuto nejasnostem, použijte názvy parametrů, které se nepoužívají pro příkazy nasazení.