Partager via


bag_set_key()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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 nullles 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 »
}
}