bag_установить_ключ()

Переключайте службы с помощью раскрывающегося списка Версия. Дополнительные сведения о навигации.
Область применения: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel

bag_set_key() получает dynamic контейнер свойств, ключ и значение. Функция задает заданный ключ в контейнере заданному значению. Функция переопределяет любое существующее значение в случае, если ключ уже существует.

Синтаксис

bag_set_key( Значение ключаконтейнера,,)

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Тип Обязательно Описание
контейнер dynamic ✔️ Пакет свойств для изменения.
ключ string ✔️ Ключ для задания. Путь JSON (можно указать ключ на вложенных уровнях с помощью нотации JSONPath ) или имя ключа для корневого ключа уровня. Индексирование массива или корневые пути JSON не поддерживаются.
значение любой скалярный тип данных ✔️ Значение, для которого задан ключ.

Возвраты

dynamic Возвращает контейнер свойств с указанными парами "ключ-значение". Если входной контейнер не является контейнером свойств, null возвращается значение.

Примечание.

Чтобы рассматривать nulls как пустые сумки, используйте coalesce(x, dynamic({})).

Примеры

В следующем примере показано, как задать ключ корневого уровня в контейнере свойств.

datatable(input: dynamic) [
    dynamic({'key1': 1, 'key2': 2}), 
    dynamic({'key1': 1, 'key3': 'abc'}),
]
| extend result = bag_set_key(input, 'key3', 3)
ввод результат
{}
"key1": 1,
"key2": 2
}
{}
"key1": 1,
"key2": 2,
"key3": 3
}
{}
"key1": 1,
"key3": "abc"
}
{}
"key1": 1,
"key3": 3
}

В следующем примере показано, как задать ключ JSONPath в контейнере свойств.

datatable(input: dynamic)[
    dynamic({'key1': 123, 'key2': {'prop1': 123, 'prop2': 'xyz'}}),
    dynamic({'key1': 123})
]
| extend result = bag_set_key(input, '$.key2.prop1', 'abc')
ввод результат
{}
"key1": 123,
"key2": {
"prop1": 123,
"prop2": "xyz"
}
}
{}
"key1": 123,
"key2": {
"prop1": "abc",
"prop2": "xyz"
}
}
{}
"key1": 123
}
{}
"key1": 123,
"key2": {
"prop1": "abc"
}
}