bag_set_key()
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
bag_set_key() otrzymuje torbę dynamic
właściwości, klucz i wartość. Funkcja ustawia dany klucz w torbie na daną wartość. Funkcja zastępuje dowolną istniejącą wartość, jeśli klucz już istnieje.
Składnia
bag_set_key(
wartość klucza worka,
,
)
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
torba | dynamic |
✔️ | Torba właściwości do zmodyfikowania. |
key | string |
✔️ | Klucz do ustawienia. Ścieżka JSON (można określić klucz na poziomach zagnieżdżonych przy użyciu notacji JSONPath ) lub nazwę klucza dla klucza poziomu głównego. Indeksowanie tablic lub główne ścieżki JSON nie są obsługiwane. |
wartość | dowolny typ danych skalarnych | ✔️ | Wartość, do której ustawiono klucz. |
Zwraca
Zwraca worek dynamic
właściwości z określonymi parami klucz-wartość. Jeśli torba wejściowa nie jest torbą właściwości, null
zwracana jest wartość.
Uwaga
Aby traktować null
s jako puste torby, użyj polecenia coalesce(x, dynamic({}))
.
Przykłady
Używanie klucza na poziomie głównym
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 } |
Używanie klucza 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" } } |