Bicep dağıtımı için parametre dosyaları oluşturma
Betiğinizde parametreleri satır içi değerler olarak geçirmek yerine, dosya uzantısına sahip .bicepparam
bir Bicep parametre dosyası veya parametre değerlerini içeren bir JSON parametre dosyası kullanabilirsiniz. Bu makalede parametre dosyalarının nasıl oluşturulacağı gösterilmektedir.
Not
Bicep parametre dosyası yalnızca Bicep CLI sürüm 0.18.4 veya daha yeni, Azure CLI sürüm 2.47.0 veya daha yeni ve Azure PowerShell sürüm 9.7.1 veya daha yeni sürümlerde desteklenir.
Tek bir Bicep dosyasında kendisiyle ilişkilendirilmiş birden çok Bicep parametre dosyası olabilir. Ancak, her Bicep parametre dosyası belirli bir Bicep dosyasına yöneliktir. Bu ilişki, Bicep parametre dosyası içindeki deyimi kullanılarak using
oluşturulur.
Bicep parametre dosyalarını bir Bicep dosyasıyla dağıtmak üzere JSON parametre dosyalarına derleyebilirsiniz. Bkz. build-params. Ayrıca bir JSON parametre dosyasını bicep parametre dosyasına da dönüştürebilirsiniz. Bkz . decompile-params.
Parametre dosyası
Parametre dosyası aşağıdaki biçimi kullanır:
using '<path>/<file-name>.bicep'
param <first-parameter-name> = <first-value>
param <second-parameter-name> = <second-value>
Using deyimini Bicep dosyası, ARM JSON şablonları, Bicep modülleri ve şablon belirtimleriyle kullanabilirsiniz. Örneğin:
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'
...
Daha fazla bilgi için bkz . using deyimi.
İfadeleri varsayılan değerle kullanabilirsiniz. Örneğin:
using 'main.bicep'
param storageName = toLower('MyStorageAccount')
param intValue = 2 + 2
Ortam değişkenlerine parametre değerleri olarak başvurabilirsiniz. Örneğin:
using './main.bicep'
param intFromEnvironmentVariables = int(readEnvironmentVariable('intEnvVariableName'))
Değişkenleri tanımlayabilir ve kullanabilirsiniz. .bicepparam dosyasında değişkenleri kullanmak için Bicep CLI sürüm 0.21.X veya üzeri gereklidir. Burada bazı örnekler verilmiştir:
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
}
Parametre dosyasının parametre değerlerini düz metin olarak kaydettiğine dikkat edin. Güvenlik nedeniyle, parolalar gibi hassas değerler için bu yaklaşım önerilmez. Hassas bir değere sahip bir parametre geçirmeniz gerekiyorsa, değeri bir anahtar kasasında tutun. Hassas değeri parametre dosyanıza eklemek yerine getSecret işlevini kullanarak alın. Daha fazla bilgi için bkz . Bicep dağıtımı sırasında güvenli parametre değeri geçirmek için Azure Key Vault kullanma.
Parametre türü biçimleri
Aşağıdaki örnekte farklı parametre türlerinin biçimleri gösterilmektedir: dize, tamsayı, boole, dizi ve nesne.
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'
}
Nesneleri ve dizileri bildirmek için Bicep söz dizimlerini kullanın.
Dosya adı
Bicep parametre dosyası uzantısına .bicepparam
sahiptir.
Farklı ortamlara dağıtmak için birden fazla parametre dosyası oluşturursunuz. Parametre dosyalarını adlandırdığınızda, geliştirme ve üretim gibi kullanımlarını tanımlayın. Örneğin, kaynakları dağıtmak için main.dev.bicepparam ve main.prod.bicepparam kullanın.
Parametre değerlerini tanımlama
Parametre adlarının ve değerlerinin nasıl tanımlanacağına karar vermek için Bicep dosyanızı açın. Bicep dosyasının parametreler bölümüne bakın. Aşağıdaki örneklerde adlı main.bicep
bicep dosyasındaki parametreler gösterilmektedir.
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
'Premium_LRS'
])
param storageAccountType string = 'Standard_LRS'
Parametreler dosyasında, dikkate değer ilk ayrıntı her parametrenin adıdır. Parametre dosyanızdaki parametre adları, Bicep dosyanızdaki parametre adlarıyla eşleşmelidir.
using 'main.bicep'
param storagePrefix
param storageAccountType
deyimi, using
Bicep parametre dosyasını bir Bicep dosyasına bağlar. Daha fazla bilgi için bkz . using deyimi.
Visual Studio Code'da anahtar sözcüğü param
yazdıktan sonra, bağlantılı Bicep dosyasından kullanılabilir parametreleri ve açıklamalarını sorar:
Parametre adının üzerine geldiğinizde parametre veri türünü ve açıklamasını görebilirsiniz.
Parametre türüne dikkat edin. Parametre dosyanızdaki parametre türleri, Bicep dosyanızla aynı türleri kullanmalıdır. Bu örnekte her iki parametre türü de dizedir.
using 'main.bicep'
param storagePrefix = ''
param storageAccountType = ''
Varsayılan değere sahip parametreler için Bicep dosyasını denetleyin. Parametrenin varsayılan değeri varsa, parametre dosyasında bir değer sağlayabilirsiniz, ancak gerekli değildir. Parameters dosya değeri, Bicep dosyasının varsayılan değerini geçersiz kılar.
using 'main.bicep'
param storagePrefix = '' // This value must be provided.
param storageAccountType = '' // This value is optional. Bicep will use default value if not provided.
Bicep'in izin verilen değerlerini ve uzunluk üst sınırı gibi kısıtlamaları denetleyin. Bu değerler, bir parametre için sağlayabileceğiniz değer aralığını belirtir. Bu örnekte, storagePrefix
en fazla 11 karakter olabilir ve storageAccountType
izin verilen bir değer belirtmelidir.
using 'main.bicep'
param storagePrefix = 'storage'
param storageAccountType = 'Standard_ZRS'
Parametre dosyası oluşturma
Parametre dosyası oluşturmak için iki seçeneğiniz vardır: Visual Studio Code aracılığıyla veya Bicep CLI kullanarak. Her iki yöntem de parametre dosyasını bir Bicep dosyasından türetmenizi sağlar. Visual Studio Code'da bkz . Parametre oluşturma dosyası. Bicep CLI'dan bkz . Parametre dosyası oluşturma.
Bicep parametre dosyası oluşturma
Bicep CLI'dan bir JSON parametre dosyasına Bicep parametre dosyası oluşturabilirsiniz. Daha fazla bilgi için bkz . Derleme parametreleri dosyası.
Bicep dosyasını parametre dosyasıyla dağıtma
Azure CLI
Azure CLI'dan Bicep dosya dağıtımınızla bir parametre dosyası geçirebilirsiniz.
Azure CLI sürüm 2.53.0 veya üzeri ve Bicep CLI sürüm 0.22.X veya üzeri ile Bicep parametre dosyasını kullanarak bicep dosyası dağıtabilirsiniz. using
Bicep parametre dosyasındaki deyimiyle, anahtar için --parameters
bir Bicep parametre dosyası belirtirken anahtarı sağlamanıza --template-file
gerek yoktur.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam
Aynı dağıtım işleminde satır içi parametreleri ve konum parametreleri dosyasını kullanabilirsiniz. Örneğin:
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam \
--parameters storageAccountType=Standard_LRS
Daha fazla bilgi için bkz . Bicep ve Azure CLI ile kaynakları dağıtma.
Azure PowerShell
Azure PowerShell'den parametresini TemplateParameterFile
kullanarak yerel parametreler dosyasını geçirin.
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam
Aynı dağıtım işleminde satır içi parametreleri ve konum parametreleri dosyasını kullanabilirsiniz. Örneğin:
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam `
-storageAccountType Standard_LRS
Daha fazla bilgi için bkz . Bicep ve Azure PowerShell ile kaynak dağıtma. .bicep dosyalarını dağıtmak için Azure PowerShell sürüm 5.6.0 veya üzeri gerekir.
Parametre önceliği
Aynı dağıtım işleminde satır içi parametreleri ve yerel parametreler dosyasını kullanabilirsiniz. Örneğin, yerel parametreler dosyasında bazı değerler belirtebilir ve dağıtım sırasında diğer değerleri satır içine ekleyebilirsiniz. Hem yerel parametreler dosyasında hem de satır içi bir parametre için değerler sağlarsanız, satır içi değer öncelikli olur.
Dosyaya URI sağlayarak bir dış JSON parametre dosyası kullanmak mümkündür. Dış Bicep parametre dosyası şu anda desteklenmiyor. Dış parametre dosyası kullandığınızda, diğer değerleri satır içinde veya yerel bir dosyadan geçiremezsiniz. Tüm satır içi parametreler yoksayılır. Dış dosyadaki tüm parametre değerlerini sağlayın.
Parametre adı çakışmaları
Bicep dosyanız PowerShell komutundaki parametrelerden biriyle aynı ada sahip bir parametre içeriyorsa PowerShell, Bicep dosyanızdan parametresini sonek FromTemplate
ile birlikte sunar. Örneğin, Bicep dosyanızda adlı ResourceGroupName
bir parametre New-AzResourceGroupDeployment cmdlet'indeki parametreyle ResourceGroupName
çakılır. için ResourceGroupNameFromTemplate
bir değer sağlamanız istenir. Bu karışıklığı önlemek için dağıtım komutları için kullanılmayan parametre adlarını kullanın.
Sonraki adımlar
- Bicep dosyasında parametreleri tanımlama hakkında daha fazla bilgi için bkz . Bicep'te parametreler.
- Hassas değerler almak için bkz . Dağıtım sırasında güvenli parametre değeri geçirmek için Azure Key Vault'un kullanılması.