Aracılığıyla paylaş


bag_pack()

Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini Azure İzleyiciMicrosoft Sentinel

Anahtarlar ve değerler listesinden dinamik özellik paketi nesnesi oluşturur.

Kullanım dışı bırakılan diğer adlar: pack(), pack_dictionary()

Sözdizimi

bag_pack(anahtar1, değer1, anahtar2, değer2,... )

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

Parametreler

Ad Tür Zorunlu Açıklama
key string ✔️ Anahtar adı.
value herhangi bir skaler veri türü ✔️ Anahtar değeri.

Not

Anahtar ve değer dizeleri, listenin toplam uzunluğunun eşit olması gereken alternatif bir listedir.

Döndürülenler

Listelenen anahtar ve değer girişlerinden bir dynamic özellik paketi nesnesi döndürür.

Örnekler

Örnek 1

Aşağıdaki örnek, anahtar ve değerlerin değişen listesinden bir özellik paketi oluşturur ve döndürür.

print bag_pack("Level", "Information", "ProcessID", 1234, "Data", bag_pack("url", "www.bing.com"))

Sonuçlar

print_0
{"Level":"Information","ProcessID":1234,"Data":{"url":"www.bing.com"}}

Örnek 2

Aşağıdaki örnek bir özellik paketi oluşturur ve '.' işlecini kullanarak özellik paketinden değer ayıklar.

datatable (
    Source: int,
    Destination: int,
    Message: string
) [
    1234, 100, "AA", 
    4567, 200, "BB",
    1212, 300, "CC" 
]
| extend MyBag=bag_pack("Dest", Destination, "Mesg", Message)
| project-away Source, Destination, Message
| extend MyBag_Dest=MyBag.Dest, MyBag_Mesg=MyBag.Mesg

Sonuçlar

MyBag MyBag_Dest MyBag_Mesg
{"Dest":100,"Mesg":"AA"} 100 AA
{"Dest":200,"Mesg":"BB"} 200 BB
{"Dest":300,"Mesg":"CC"} 300 CC

Örnek 3

Aşağıdaki örnek SmsMessages ve MmsMessages olmak üzere iki tablo kullanır ve ortak sütunlarını ve diğer sütunlardan bir özellik paketini döndürür. Tablolar, sorgunun bir parçası olarak geçici olarak oluşturulur.

SmsMessages

SourceNumber TargetNumber CharsCount
555-555-1234 555-555-1212 46
555-555-1234 555-555-1213 50
555-555-1212 555-555-1234 32

MmsMessages

SourceNumber TargetNumber AttachmentSize AttachmentType AttachmentName
555-555-1212 555-555-1213 200 jpeg Resim1
555-555-1234 555-555-1212 250 jpeg Resim2
555-555-1234 555-555-1213 300 png Pic3
let SmsMessages = datatable (
    SourceNumber: string,
    TargetNumber: string,
    CharsCount: string
) [
    "555-555-1234", "555-555-1212", "46", 
    "555-555-1234", "555-555-1213", "50",
    "555-555-1212", "555-555-1234", "32" 
];
let MmsMessages = datatable (
    SourceNumber: string,
    TargetNumber: string,
    AttachmentSize: string,
    AttachmentType: string,
    AttachmentName: string
) [
    "555-555-1212", "555-555-1213", "200", "jpeg", "Pic1",
    "555-555-1234", "555-555-1212", "250", "jpeg", "Pic2",
    "555-555-1234", "555-555-1213", "300", "png", "Pic3"
];
SmsMessages 
| join kind=inner MmsMessages on SourceNumber
| extend Packed=bag_pack("CharsCount", CharsCount, "AttachmentSize", AttachmentSize, "AttachmentType", AttachmentType, "AttachmentName", AttachmentName) 
| where SourceNumber == "555-555-1234"
| project SourceNumber, TargetNumber, Packed

Sonuçlar

SourceNumber TargetNumber Dolu
555-555-1234 555-555-1213 {"CharsCount":"50","AttachmentSize":"250","AttachmentType":"jpeg","AttachmentName":"Pic2"}
555-555-1234 555-555-1212 {"CharsCount":"46","AttachmentSize":"250","AttachmentType":"jpeg","AttachmentName":"Pic2"}
555-555-1234 555-555-1213 {"CharsCount":"50","AttachmentSize":"300","AttachmentType":"png","AttachmentName":"Pic3"}
555-555-1234 555-555-1212 {"CharsCount":"46","AttachmentSize":"300","AttachmentType":"png","AttachmentName":"Pic3"}