Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
bag_set_key() receives a dynamic property-bag, a key and a value. The function sets the given key in the bag to the given value. The function overrides any existing value in case the key already exists.
Syntax
bag_set_key(bag,key,value)
Learn more about syntax conventions.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| bag | dynamic |
✔️ | The property bag to modify. |
| key | string |
✔️ | The key to set. Either a JSON path (you can specify a key on the nested levels using JSONPath notation) or the key name for a root level key. Array indexing or root JSON paths aren't supported. |
| value | any scalar data type | ✔️ | The value to which the key is set. |
Returns
Returns a dynamic property-bag with specified key-value pairs. If the input bag isn't a property-bag, a null value is returned.
Note
To treat nulls as empty bags, use coalesce(x, dynamic({})).
Examples
The following example demonstrates how to set a root-level key in a property bag.
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 } |
The following example demonstrates how to set a JSONPath key in a property bag.
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" } } |