bag_set_key()
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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" } } |