bag_set_key()

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

bag_set_key() 接收 dynamic 属性包、键和值。 该函数将包中的给定键设置为给定值。 如果该键已存在,该函数将重写任何现有值。

语法

bag_set_key( ,钥匙,价值)

详细了解语法约定

参数

客户 类型​​ 必需 说明
dynamic ✔️ 要修改的属性包。
string ✔️ 要设置的键。 JSON 路径(可以使用 JSONPath 表示法在嵌套级别指定键)或根级别键的键名称。 不支持数组索引或根 JSON 路径。
价值 任何标量数据类型 ✔️ 要将键设置为的值。

返回

返回包含指定键值对的 dynamic 属性包。 如果输入包不是属性包,则返回 null 值。

注意

若要将 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)
输入 结果
{ }
“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')
输入 结果
{ }
"key1":123,
“key2”: {
“prop1”: 123,
“prop2”: “xyz”
}
}
{ }
"key1":123,
“key2”: {
“prop1”: “abc”,
“prop2”: “xyz”
}
}
{ }
"key1":123
}
{ }
"key1":123,
“key2”: {
“prop1”: “abc”
}
}