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” } } |