bag_set_key()
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
bag_set_key() recibe un dynamic
contenedor de propiedades, una clave y un valor. La función establece la clave especificada en el contenedor en el valor especificado. La función invalida cualquier valor existente en caso de que la clave ya exista.
Sintaxis
bag_set_key(
valor de clavebag,
,
)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
bag | dynamic |
✔️ | Contenedor de propiedades que se va a modificar. |
key | string |
✔️ | Clave que se va a establecer. Una ruta de acceso JSON (puede especificar una clave en los niveles anidados mediante la notación JSONPath ) o el nombre de clave de una clave de nivel raíz. No se admiten la indexación de matrices ni las rutas json raíz. |
value | cualquier tipo de datos escalar | ✔️ | Valor en el que se establece la clave. |
Devoluciones
Devuelve un dynamic
contenedor de propiedades con pares clave-valor especificados. Si el contenedor de entrada no es un contenedor de propiedades, se devuelve un null
valor.
Nota:
Para tratar null
s como bolsas vacías, use coalesce(x, dynamic({}))
.
Ejemplos
Uso de una clave de nivel raíz
datatable(input: dynamic) [
dynamic({'key1': 1, 'key2': 2}),
dynamic({'key1': 1, 'key3': 'abc'}),
]
| extend result = bag_set_key(input, 'key3', 3)
input | resultado |
---|---|
{ "key1": 1, "key2": 2 } |
{ "key1": 1, "key2": 2, "key3": 3 } |
{ "key1": 1, "key3": "abc" } |
{ "key1": 1, "key3": 3 } |
Uso de una clave 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 | resultado |
---|---|
{ "key1": 123, "key2": { "prop1": 123, "prop2": "xyz" } } |
{ "key1": 123, "key2": { "prop1": "abc", "prop2": "xyz" } } |
{ "key1": 123 } |
{ "key1": 123, "key2": { "prop1": "abc" } } |