Share via


bag_set_key()

bag_set_key() tar emot en dynamic egenskapsuppsättning, en nyckel och ett värde. Funktionen anger den angivna nyckeln i påsen till det angivna värdet. Funktionen åsidosätter alla befintliga värden om nyckeln redan finns.

Syntax

bag_set_key(Väska,Nyckel,Värde)

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Väska dynamic ✔️ Egenskapsuppsättningen som ska ändras.
Nyckel string ✔️ Nyckeln som ska anges. Antingen en JSON-sökväg (du kan ange en nyckel på kapslade nivåer med JSONPath-notation ) eller nyckelnamnet för en nyckel på rotnivå. Matrisindexering eller JSON-rotsökvägar stöds inte.
värde alla skalära datatyper ✔️ Värdet som nyckeln har angetts till.

Returer

Returnerar en dynamic egenskapsuppsättning med angivna nyckel/värde-par. Om indatapåsen inte är en egenskapsuppsättning returneras ett null värde.

Anteckning

Om du vill behandla nulls som tomma påsar använder du coalesce(x, dynamic({})).

Exempel

Använda en nyckel på rotnivå

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

Använda en JSONPath-nyckel

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