bag_set_key()

bag_set_key() empfängt eine dynamic Eigenschaftstasche, einen Schlüssel und einen Wert. Die Funktion legt den angegebenen Schlüssel in der Tasche auf den angegebenen Wert fest. Die Funktion überschreibt jeden vorhandenen Wert, falls der Schlüssel bereits vorhanden ist.

Syntax

bag_set_key(Tasche,Schlüssel,Wert)

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ 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 angeben) oder den Schlüsselnamen für einen Schlüssel auf Stammebene. Arrayindizierung oder JSON-Stammpfade werden nicht unterstützt.
value beliebige skalarer Datentyp ✔️ Der Wert, auf den der Schlüssel festgelegt ist.

Gibt zurück

Gibt einen dynamic Eigenschaftsbehälter mit angegebenen Schlüssel-Wert-Paaren zurück. Wenn der Eingabebehälter kein Eigenschaftsbehälter ist, wird ein null Wert zurückgegeben.

Hinweis

Um s als leere Säcke 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"
}
}