共用方式為


bag_set_key()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

bag_set_key() 會接收 dynamic 屬性包、索引鍵和值。 函式會將包中的指定索引鍵設定為指定的值。 如果索引鍵已經存在,函式會覆寫任何現有的值。

語法

bag_set_key(bag,索引鍵值,)

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
dynamic ✔️ 要修改的屬性包。
key string ✔️ 要設定的索引鍵。 JSON 路徑(您可以使用 JSONPath 表示法在巢狀層級上指定索引鍵),或根層級索引鍵的密鑰名稱。 不支援陣列索引編製或根 JSON 路徑。
value 任何純量數據類型 ✔️ 設定索引鍵的值。

傳回

dynamic 回具有指定索引鍵/值組的屬性包。 如果輸入包不是屬性包, null 則會傳回值。

注意

若要將 s 視為 null空袋,請使用 coalesce(x, dynamic({}))

範例

使用根層級金鑰

datatable(input: dynamic) [
    dynamic({'key1': 1, 'key2': 2}), 
    dynamic({'key1': 1, 'key3': 'abc'}),
]
| extend result = bag_set_key(input, 'key3', 3)
input result
{
“key1”: 1,
“key2”: 2
}
{
“key1”: 1,
“key2”: 2,
“key3”: 3
}
{
“key1”: 1,
“key3”: “abc”
}
{
“key1”: 1,
“key3”: 3
}

使用 JSONPath 金鑰

datatable(input: dynamic)[
    dynamic({'key1': 123, 'key2': {'prop1': 123, 'prop2': 'xyz'}}),
    dynamic({'key1': 123})
]
| extend result = bag_set_key(input, '$.key2.prop1', 'abc')
input result
{
“key1”: 123,
“key2”: {
“prop1”: 123,
“prop2”: “xyz”
}
}
{
“key1”: 123,
“key2”: {
“prop1”: “abc”,
“prop2”: “xyz”
}
}
{
“key1”: 123
}
{
“key1”: 123,
“key2”: {
“prop1”: “abc”
}
}