Bicep 散佈運算符
散布運算子是用來將可反覆運算的陣列或對象展開成個別元素。 散布運算子可讓您輕鬆地操作數位或物件,方法是將其元素或屬性分散到新的數位或物件。
Spread
...
散布運算子可用來將屬性從某個物件複製到另一個物件,或以簡潔且可讀的方式合併陣列和物件。
範例
下列範例顯示 物件中使用的散佈運算子:
var objA = { color: 'white' }
output objB object = { shape: 'circle', ...objA }
範例的輸出:
名稱 | 類型 | ReplTest1 |
---|---|---|
objB |
object | { shape: 'circle', color: 'white' } |
下列範例顯示陣列中使用的散佈運算子:
var arrA = [ 2, 3 ]
output arrB array = [ 1, ...arrA, 4 ]
範例的輸出:
名稱 | 類型 | 值 |
---|---|---|
arrB |
陣列 | [ 1, 2, 3, 4 ] |
下列範例顯示單一作業中多次使用的散佈:
var arrA = [ 2, 3 ]
output arrC array = [ 1, ...arrA, 4, ...arrA ]
範例的輸出:
名稱 | 類型 | 值 |
---|---|---|
arrC |
陣列 | [ 1, 2, 3, 4, 2, 3 ] |
下列範例顯示多行作業中使用的散佈:
var objA = { color: 'white' }
var objB = { shape: 'circle'}
output objCombined object = {
...objA
...objB
}
在此用法中,不會在兩行之間使用逗號。 範例的輸出:
名稱 | 類型 | ReplTest1 |
---|---|---|
objCombined |
object | { color: 'white', shape: 'circle' } |
散佈作業可用來避免設定選擇性屬性。 在下列範例中,只有在參數層不是空字串時,才會設定 accessTier。
param location string = resourceGroup().location
param tier string = 'Hot'
var storageAccountName = uniqueString(resourceGroup().id)
var accessTier = tier != '' ? {accessTier: tier} : {}
resource mystorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
...accessTier
}
}
上述範例也可以撰寫為:
param location string = resourceGroup().location
param tier string = 'Hot'
var storageAccountName = uniqueString(resourceGroup().id)
resource mystorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: storageAccountName
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
...(tier != '' ? {accesssTier: tier} : {})
}
}
散布運算子可用來覆寫現有的屬性。
param location string = resourceGroup().location
param storageProperties {
accessTier: string?
}
resource mystorage 'Microsoft.Storage/storageAccounts@2023-05-01' = {
name: uniqueString(resourceGroup().id)
location: location
sku: {
name: 'Standard_LRS'
}
kind: 'StorageV2'
properties: {
accessTier: 'Cold'
...storageProperties
}
}
下一步
- 若要執行這些範例,請使用 Azure CLI 或 Azure PowerShell 來部署 Bicep 檔案。
- 若要建立 Bicep 檔案,請參閱快速入門:使用 Visual Studio Code 建立 Bicep 檔案。
- 如需如何解決 Bicep 類型錯誤的詳細資訊,請參閱 Bicep 的 Any 函數。