Freigeben über


bag_set_key()

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

bag_set_key() empfängt einen dynamic Eigenschaftenbehälter, einen Schlüssel und einen Wert. Die Funktion legt den angegebenen Schlüssel im Beutel auf den angegebenen Wert fest. Die Funktion setzt alle vorhandenen Werte außer Kraft, falls der Schlüssel bereits vorhanden ist.

Syntax

bag_set_key(Wert des Taschenschlüssels,,)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
bag dynamic ✔️ Der zu ändernde Eigenschaftenbehälter.
key string ✔️ Der festzulegende Schlüssel. Entweder ein JSON-Pfad (Sie können einen Schlüssel auf den geschachtelten Ebenen mithilfe der JSONPath-Notation ) oder den Schlüsselnamen für einen Stammschlüssel angeben. Arrayindizierungs- oder JSON-Stammpfade werden nicht unterstützt.
value beliebiger skalarer Datentyp ✔️ Der Wert, auf den der Schlüssel festgelegt ist.

Gibt zurück

Gibt einen dynamic Eigenschaftenbehälter mit angegebenen Schlüsselwertpaaren zurück. Wenn der Eingabebehälter kein Eigenschaftenbehälter ist, wird ein null Wert zurückgegeben.

Hinweis

Um s als leere Taschen zu behandeln null, verwenden Sie coalesce(x, dynamic({})).

Beispiele

Verwenden eines Schlüssels auf Stammebene

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
}

Verwenden eines JSONPath-Schlüssels

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"
}
}