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: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'
...
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 .bicepparam
a 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.bicep
szá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:
Ha egy paramnév fölé viszi az egérmutatót, láthatja a paraméter adattípusát és leírását.
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 ResourceGroupName
New-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
- A paraméterek Bicep-fájlokban való definiálásáról további információt a Bicep-paraméterek című témakörben talál.
- A bizalmas értékek lekéréséhez lásd: Az Azure Key Vault használata biztonságos paraméterértékek átadásához az üzembe helyezés során.