bag_set_key()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
bag_set_key() reçoit un dynamic
conteneur de propriétés, une clé et une valeur. La fonction définit la clé donnée dans le conteneur sur la valeur donnée. La fonction remplace toute valeur existante si la clé existe déjà.
Syntaxe
bag_set_key(
valeur de clé deconteneur,
,
)
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
bag | dynamic |
✔️ | Conteneur de propriétés à modifier. |
key | string |
✔️ | Clé à définir. Soit un chemin JSON (vous pouvez spécifier une clé sur les niveaux imbriqués à l’aide de la notation JSONPath ) ou le nom de clé d’une clé de niveau racine. L’indexation de tableaux ou les chemins JSON racine ne sont pas pris en charge. |
valeur | n’importe quel type de données scalaire | ✔️ | Valeur à laquelle la clé est définie. |
Retours
Retourne un dynamic
conteneur de propriétés avec des paires clé-valeur spécifiées. Si le conteneur d’entrée n’est pas un conteneur de propriétés, une null
valeur est retournée.
Remarque
Pour traiter null
les sacs vides, utilisez coalesce(x, dynamic({}))
.
Exemples
Utiliser une clé de niveau racine
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 } |
Utiliser une clé 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 » } } |