Udostępnij za pośrednictwem


bag_set_key()

Dotyczy: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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ć nulls 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"
}
}