Membuat file parameter untuk penyebaran Bicep
Artikel ini memperlihatkan kepada Anda cara membuat file parameter, yang dapat Anda gunakan alih-alih meneruskan parameter sebagai nilai sebaris dalam skrip Anda. Anda dapat menggunakan file parameter Bicep dengan .bicepparam
ekstensi file atau file parameter JSON yang berisi nilai parameter.
Catatan
File parameter Bicep hanya didukung di Bicep CLI versi 0.18.4 atau yang lebih baru, Azure CLI versi 2.47.0 atau yang lebih baru, dan Azure PowerShell versi 9.7.1 atau yang lebih baru.
Satu file Bicep dapat memiliki beberapa file parameter Bicep yang terkait dengannya. Namun, setiap file parameter Bicep ditujukan untuk satu file Bicep tertentu. Anda dapat membuat hubungan ini dengan menerapkan using
pernyataan dalam file parameter Bicep.
Anda dapat mengkompilasi file parameter Bicep ke dalam file parameter JSON yang dapat Anda sebarkan dengan menggunakan file Bicep. Untuk informasi selengkapnya, lihat build-params
. Anda juga dapat mendekompilasi file parameter JSON ke dalam file parameter Bicep. Untuk informasi selengkapnya, lihat decompile-params
.
File parameter
File parameter menggunakan format berikut:
using '<path>/<file-name>.bicep'
param <first-parameter-name> = <first-value>
param <second-parameter-name> = <second-value>
Anda dapat menerapkan using
pernyataan dengan menggunakan file Bicep, templat JSON Azure Resource Manager, modul Bicep, dan spesifikasi templat. Contohnya:
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'
...
Untuk informasi selengkapnya, lihat Menggunakan pernyataan.
Anda dapat menggunakan ekspresi dengan nilai default. Contohnya:
using 'main.bicep'
param storageName = toLower('MyStorageAccount')
param intValue = 2 + 2
Anda dapat mereferensikan variabel lingkungan sebagai nilai parameter. Contohnya:
using './main.bicep'
param intFromEnvironmentVariables = int(readEnvironmentVariable('intEnvVariableName'))
Anda dapat menentukan dan menggunakan variabel. Anda harus menggunakan Bicep CLI versi 0.21.X atau yang lebih baru untuk menggunakan variabel dalam .bicepparam
file. Lihat contoh berikut:
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
}
Catatan
File parameter menyimpan nilai parameter sebagai teks biasa. Untuk alasan keamanan, kami tidak merekomendasikan penggunaan pendekatan ini dengan nilai sensitif seperti kata sandi.
Jika Anda perlu meneruskan parameter dengan nilai sensitif, Anda harus menyimpan nilai dalam brankas kunci. Alih-alih menambahkan nilai sensitif ke file parameter Anda, gunakan getSecret
fungsi untuk mengambilnya. Untuk informasi selengkapnya, lihat Menggunakan Azure Key Vault untuk meneruskan rahasia sebagai parameter selama penyebaran Bicep.
Format jenis parameter
Contoh berikut menunjukkan format berbagai jenis parameter: string, bilangan bulat, Boolean, array, dan objek.
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'
}
Gunakan sintaks Bicep untuk mendeklarasikan objek dan array.
Nama file
Ekstensi file untuk file parameter Bicep adalah .bicepparam
.
Untuk menyebarkan ke beberapa lingkungan, Anda membuat lebih dari satu file parameter. Saat Anda menggunakan beberapa file parameter, beri label sesuai dengan penggunaannya. Misalnya, untuk menyebarkan sumber daya, gunakan label main.dev.bicepparam untuk pengembangan dan label main.prod.bicepparam untuk produksi.
Menentukan nilai parameter
Untuk menentukan cara menentukan nama dan nilai parameter, buka file Bicep Anda. Lihat bagian parameter file Bicep. Contoh berikut menunjukkan parameter dari file Bicep bernama main.bicep
:
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_ZRS'
'Premium_LRS'
])
param storageAccountType string = 'Standard_LRS'
Dalam file parameter, cari nama setiap parameter. Nama parameter dalam file parameter Anda harus cocok dengan nama parameter dalam file Bicep Anda.
using 'main.bicep'
param storagePrefix
param storageAccountType
Pernyataan ini using
mengikat file parameter Bicep ke file Bicep. Untuk informasi selengkapnya, lihat Menggunakan pernyataan.
Saat Anda mengetik kata kunci di Visual Studio Code, kata kunci param
akan meminta parameter yang tersedia dan deskripsinya dari file Bicep yang ditautkan.
Saat mengarahkan mouse ke atas param
nama, Anda dapat melihat jenis dan deskripsi data parameter.
Tinjau jenis parameter, karena jenis parameter dalam file parameter Anda harus menggunakan jenis yang sama dengan file Bicep Anda. Dalam contoh ini, kedua jenis parameter adalah string:
using 'main.bicep'
param storagePrefix = ''
param storageAccountType = ''
Periksa file Bicep untuk parameter yang menyertakan nilai default. Jika parameter memiliki nilai default, Anda dapat memberikan nilai dalam file parameter, tetapi tidak diperlukan. Nilai file parameter mengambil alih nilai default file Bicep.
using 'main.bicep'
param storagePrefix = '' // This value must be provided.
param storageAccountType = '' // This value is optional. Bicep uses default value if not provided.
Untuk melihat apakah ada batasan seperti panjang maksimum, periksa nilai file Bicep yang diizinkan. Nilai yang diizinkan menentukan rentang nilai yang dapat Anda berikan untuk parameter. Dalam contoh ini, storagePrefix
dapat memiliki maksimal 11 karakter, dan storageAccountType
harus menentukan nilai yang diizinkan.
using 'main.bicep'
param storagePrefix = 'storage'
param storageAccountType = 'Standard_ZRS'
Membuat file parameter
Anda dapat membuat file parameter dengan menggunakan Visual Studio Code atau Bicep CLI. Kedua alat memungkinkan Anda menggunakan file Bicep untuk menghasilkan file parameter. Lihat Membuat file parameter untuk metode Visual Studio Code dan Membuat file parameter untuk metode Bicep CLI.
Membuat file parameter Bicep
Dari Bicep CLI, Anda dapat membangun file parameter Bicep ke dalam file parameter JSON. Untuk informasi selengkapnya, lihat File parameter build.
Menyebarkan file Bicep dengan file parameter
Azure CLI
Dari Azure CLI, Anda dapat meneruskan file parameter dengan penyebaran file Bicep Anda.
Anda dapat menyebarkan file Bicep dengan menggunakan file parameter Bicep dengan Azure CLI versi 2.53.0 atau yang lebih baru dan Bicep CLI versi 0.22.X atau yang lebih baru.
using
Dengan pernyataan dalam file parameter Bicep, tidak perlu memberikan --template-file
sakelar saat menentukan file parameter Bicep untuk --parameters
sakelar.
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam
Anda dapat menggunakan parameter sebaris dan file parameter lokasi dalam operasi penyebaran yang sama. Contohnya:
az deployment group create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--parameters storage.bicepparam \
--parameters storageAccountType=Standard_LRS
Untuk informasi selengkapnya, lihat Menyebarkan file Bicep dengan menggunakan Azure CLI.
Azure PowerShell
Dari Azure PowerShell, teruskan file parameter lokal dengan menggunakan TemplateParameterFile
parameter .
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam
Anda dapat menggunakan parameter sebaris dan file parameter lokasi dalam operasi penyebaran yang sama. Contohnya:
New-AzResourceGroupDeployment `
-Name ExampleDeployment `
-ResourceGroupName ExampleResourceGroup `
-TemplateFile C:\MyTemplates\storage.bicep `
-TemplateParameterFile C:\MyTemplates\storage.bicepparam `
-storageAccountType Standard_LRS
Untuk informasi selengkapnya, lihat Menyebarkan file Bicep dengan menggunakan Azure PowerShell. Untuk menyebarkan .bicep
file, Anda memerlukan Azure PowerShell versi 5.6.0 atau yang lebih baru.
Parameter diutamakan
Anda dapat menggunakan parameter sebaris dan file parameter lokal dalam operasi penyebaran yang sama. Misalnya, Anda dapat menentukan beberapa nilai dalam file parameter lokal dan menambahkan nilai lain sebaris selama penyebaran. Jika Anda memberikan nilai untuk parameter dalam file parameter lokal dan sebaris, nilai sebaris lebih diutamakan.
Meskipun file parameter Bicep eksternal saat ini tidak didukung, Anda dapat menggunakan file parameter JSON eksternal dengan menyediakan URI ke file. Saat Anda menggunakan file parameter eksternal, berikan semua nilai parameter dalam file eksternal. Saat menggunakan file eksternal, Anda tidak dapat meneruskan nilai lain sebaris atau dari file lokal, dan semua parameter sebaris diabaikan.
Konflik nama parameter
Jika file Bicep Anda menyertakan parameter dengan nama yang sama dengan salah satu parameter dalam perintah Azure PowerShell, Azure PowerShell menyajikan parameter dari file Bicep Anda dengan FromTemplate
postfix. Misalnya, jika parameter bernama ResourceGroupName
dalam file Bicep Anda berkonflik dengan ResourceGroupName
parameter di New-AzResourceGroupDeployment
cmdlet, Anda diminta untuk memberikan nilai untuk ResourceGroupNameFromTemplate
. Untuk menghindari kebingungan ini, gunakan nama parameter yang tidak digunakan untuk perintah penyebaran.
Konten terkait
- Untuk informasi selengkapnya tentang cara menentukan parameter dalam file Bicep, lihat Parameter dalam Bicep.
- Untuk mendapatkan nilai sensitif, lihat Gunakan Azure Key Vault untuk melewati nilai parameter aman selama penyebaran.