Aracılığıyla paylaş


bag_set_key()

bag_set_key() bir dynamic özellik paketi, bir anahtar ve bir değer alır. işlevi, torbadaki verilen anahtarı verilen değere ayarlar. anahtarın zaten mevcut olması durumunda işlev var olan tüm değerleri geçersiz kılar.

Syntax

bag_set_key(Çanta,Anahtar,Değer)

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
Çanta dynamic ✔️ Değiştirileceği özellik paketi.
Anahtar string ✔️ Ayarlanacağı anahtar. Bir JSON yolu ( JSONPath gösterimini kullanarak iç içe düzeylerde bir anahtar belirtebilirsiniz) veya kök düzey anahtarı için anahtar adı. Dizi dizin oluşturma veya kök JSON yolları desteklenmez.
değer herhangi bir skaler veri türü ✔️ Anahtarın ayarlandığı değer.

Döndürülenler

Belirtilen anahtar-değer çiftlerine sahip bir dynamic özellik-paketi döndürür. Giriş paketi bir özellik paketi değilse, bir null değer döndürülür.

Not

S'yi boş torbalar olarak işlemek nulliçin kullanın coalesce(x, dynamic({})).

Örnekler

Kök düzeyinde anahtar kullanma

datatable(input: dynamic) [
    dynamic({'key1': 1, 'key2': 2}), 
    dynamic({'key1': 1, 'key3': 'abc'}),
]
| extend result = bag_set_key(input, 'key3', 3)
giriş sonuç
{
"key1": 1,
"key2": 2
}
{
"key1": 1,
"key2": 2,
"key3": 3
}
{
"key1": 1,
"key3": "abc"
}
{
"key1": 1,
"key3": 3
}

JSONPath anahtarı kullanma

datatable(input: dynamic)[
    dynamic({'key1': 123, 'key2': {'prop1': 123, 'prop2': 'xyz'}}),
    dynamic({'key1': 123})
]
| extend result = bag_set_key(input, '$.key2.prop1', 'abc')
giriş sonuç
{
"key1": 123,
"key2": {
"prop1": 123,
"prop2": "xyz"
}
}
{
"key1": 123,
"key2": {
"prop1": "abc",
"prop2": "xyz"
}
}
{
"key1": 123
}
{
"key1": 123,
"key2": {
"prop1": "abc"
}
}