Partilhar via


bag_set_key()

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

bag_set_key() recebe um saco dynamic de propriedades, uma chave e um valor. A função define a chave dada no saco para o valor dado. A função substitui qualquer valor existente caso a chave já exista.

Sintaxe

bag_set_key( , chave,valor)

Saiba mais sobre convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
saco dynamic ✔️ O saco de propriedades a modificar.
chave string ✔️ A chave para definir. Um caminho JSON (você pode especificar uma chave nos níveis aninhados usando a notação JSONPath ) ou o nome da chave para uma chave de nível raiz. Não há suporte para indexação de matriz ou caminhos JSON raiz.
valor qualquer tipo de dados escalar ✔️ O valor para o qual a chave está definida.

Devoluções

Retorna um dynamic conjunto de propriedades com pares chave-valor especificados. Se o saco de entrada não for um saco de propriedades, um null valor será retornado.

Observação

Para tratar nulls como sacos vazios, use coalesce(x, dynamic({})).

Exemplos

O exemplo a seguir demonstra como definir uma chave de nível raiz em um pacote de propriedades.

datatable(input: dynamic) [
    dynamic({'key1': 1, 'key2': 2}), 
    dynamic({'key1': 1, 'key3': 'abc'}),
]
| extend result = bag_set_key(input, 'key3', 3)
entrada Resultado
{
"chave1": 1,
"chave2": 2
}
{
"chave1": 1,
"chave2": 2,
"chave3": 3
}
{
"chave1": 1,
"key3": "abc"
}
{
"chave1": 1,
"chave3": 3
}

O exemplo a seguir demonstra como definir uma chave JSONPath em um pacote de propriedades.

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