Paraméterfájlok létrehozása a Bicep üzembe helyezéséhez

Ahelyett, hogy paramétereket ad át beágyazott értékekként a szkriptben, használhat egy Bicep paraméterfájlt a .bicepparam fájlkiterjesztéssel vagy a paraméterértékeket tartalmazó JSON-paraméterfájllal. Ez a cikk bemutatja, hogyan hozhat létre paraméterfájlokat.

Feljegyzés

A Bicep paraméterfájl csak a Bicep CLI 0.18.4-es vagy újabb verziójában, az Azure CLI 2.47.0-s vagy újabb verziójában, valamint az Azure PowerShell 9.7.1-es vagy újabb verziójában támogatott.

Egyetlen Bicep-fájlhoz több Bicep paraméterfájl is társítható. Azonban minden Bicep-paraméterfájl egy adott Bicep-fájlhoz készült. Ez a kapcsolat a using Bicep paraméterfájlban található utasítással jön létre.

A Bicep-paraméterek fájljait JSON-paraméterfájlokba fordíthatja, hogy egy Bicep-fájllal együtt üzembe helyezhesse őket. Lásd a buildparamokat. Egy JSON-paraméterfájlt bicep-paraméterfájlba is bonthat. Lásd: dekompile-params.

Paraméterfájl

Egy paraméterfájl a következő formátumot használja:

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

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

A használati utasítást Használhatja Bicep-fájlokkal, ARM JSON-sablonokkal, Bicep-modulokkal és sablon specifikációkkal. Példa:

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

További információkért tekintse meg a felhasználói utasítást.

Az alapértelmezett értékkel rendelkező kifejezéseket használhatja. Példa:

using 'main.bicep'

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

Környezeti változókra paraméterértékként hivatkozhat. Példa:

using './main.bicep'

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

Definiálhat és használhat változókat. A .bicepparam-fájl változóinak használatához a Bicep CLI 0.21.X vagy újabb verziója szükséges. Íme néhány példa:

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
}

É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. Ahelyett, hogy hozzáadná a bizalmas értéket a paraméterfájlhoz, a getSecret függvény használatával kérje le. További információ: Az Azure Key Vault használata biztonságos paraméterértékek átadásához a Bicep üzembe helyezése során.

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.

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'
}

Objektumok és tömbök deklarálásához használja a Bicep szintaxist.

Fájlnév

A Bicep paraméterfájl fájlkiterjesztése .bicepparama következő: .

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. Például a main.dev.bicepparam és a main.prod.bicepparam használatával telepíthet erőforrásokat.

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

A paraméternevek és -értékek definiálásához nyissa meg a Bicep-fájlt. Tekintse meg a Bicep-fájl paraméterek szakaszát. Az alábbi példák egy Bicep-fájlból main.bicepszármazó paramétereket mutatják be.

@maxLength(11)
param storagePrefix string

@allowed([
  'Standard_LRS'
  'Standard_GRS'
  'Standard_ZRS'
  'Premium_LRS'
])
param storageAccountType string = 'Standard_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 Bicep-fájl paraméternevével.

using 'main.bicep'

param storagePrefix
param storageAccountType

Az using utasítás a Bicep paraméterfájlt egy Bicep-fájlhoz összekapcsolja. További információ: utasítás használata.

Miután beírta a kulcsszót param a Visual Studio Code-ba, a csatolt Bicep-fájlból kéri a rendelkezésre álló paramétereket és azok leírását:

Képernyőkép az elérhető paraméterek parancssoráról.

Ha egy paramnév fölé viszi az egérmutatót, láthatja a paraméter adattípusát és leírását.

Képernyőkép a paraméter adattípusáról és leírásáról.

Figyelje meg a paraméter típusát. A paraméterfájl paramétertípusainak ugyanazokat a típusokat kell használniuk, mint a Bicep-fájlnak. Ebben a példában mindkét paramétertípus sztring.

using 'main.bicep'

param storagePrefix = ''
param storageAccountType = ''

Ellenőrizze a Bicep-fájlban 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 Bicep-fájl alapértelmezett értékét.

using 'main.bicep'

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

Ellenőrizze a Bicep 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.

using 'main.bicep'

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

Paraméterfájl létrehozása

Paraméterfájl létrehozásához két lehetősége van: a Visual Studio Code-on keresztül vagy a Bicep CLI használatával. Mindkét módszer lehetővé teszi a paraméterfájl Bicep-fájlból való származtatását. A Visual Studio Code-ból lásd : Paraméterfájl létrehozása. A Bicep CLI-ből lásd a Paraméterfájl létrehozása című témakört.

Bicep-paraméterfájl létrehozása

A Bicep CLI-ből létrehozhat egy Bicep-paraméterfájlt egy JSON-paraméterfájlba. További információ: Build parameters file.

Bicep-fájl üzembe helyezése paraméterfájllal

Azure CLI

Az Azure CLI-ből átadhat egy paraméterfájlt a Bicep-fájl üzembe helyezésével.

Az Azure CLI 2.53.0-s vagy újabb verziójával és a Bicep CLI 0.22.X-es vagy újabb verziójával bicep-fájlokat helyezhet üzembe Egy Bicep-paraméterfájl használatával. using A Bicep paraméterfájlban lévő utasítással nem kell megadni a --template-file kapcsolót a kapcsolóHoz tartozó --parameters Bicep paraméterfájl megadásakor.

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

Ugyanabban az üzembehelyezési műveletben beágyazott paramétereket és helyparaméter-fájlokat is használhat. Példa:

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

További információ: Erőforrások üzembe helyezése a Bicep és az Azure CLI használatával.

Azure PowerShell

Az Azure PowerShellben adjon át egy helyi paraméterfájlt a TemplateParameterFile paraméter használatával.

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

Ugyanabban az üzembehelyezési műveletben beágyazott paramétereket és helyparaméter-fájlokat is használhat. Példa:

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

További információ: Erőforrások üzembe helyezése a Bicep és az Azure PowerShell használatával. A .bicep-fájlok telepítéséhez az Azure PowerShell 5.6.0-s vagy újabb verziójára van szükség.

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 további 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ő JSON-paraméterfájlt is használhat, ha megadja az URI-t a fájlnak. A külső Bicep paraméterfájl jelenleg nem támogatott. 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 Bicep-fájl tartalmaz egy, a PowerShell-parancsban szereplő paraméterek egyikével megegyező nevű paramétert, a PowerShell megjeleníti a Bicep-fájl paraméterét a postfixtel FromTemplate. A Bicep-fájlban elnevezett ResourceGroupName paraméter például ütközik a ResourceGroupNameNew-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