Я получаю нисходящее сообщение, содержащее несколько обработанных данных

В концентраторе событий при получении более 1 обработанного сообщения сообщение не приходит как отдельные события. Сообщение содержит более 1 элемента.

если вы видите сообщение, в котором содержится более одного элемента информации об устройстве, я должен получать один элемент для каждого события.

    //Processing the message
    With ProcessedPayload As 
    (SELECT
    udf.Device(
    Event.meta.DeviceId,
    Event.meta,
    Event.Data_in,
    Event.channels,
    pcmsqlazure.ConfigIOPayload) As device

    FROM
        localINputsignal As Event
    join
        pcmsqlazure
    ON
     Event.meta.DeviceId=pcmsqlazure.SerialNumber) 
//output data to event bus
    select device.deviceId,device.productFilter,device.data into Custom from ProcessedPayload

Редактировать:

Данные поступают, как показано ниже, в виде одной строки

{"Ts":"2019-08-28T04:08:23.3884855Z","DeviceId":"DJT3COE4","count":1} 
{"Ts":"2019-08-28T04:08:23.0584507Z","DeviceId":"DJT3COE4","count":1} 
{"Ts":"2019-08-28T04:08:21.8236859Z","DeviceId":"DJT3COE4","count":1} 
{"Ts":"2019-08-28T04:08:21.8236859Z","DeviceId":"DJT3COE4","count":1} 

но для меня результат должен быть как одно событие, как показано ниже

{"Ts":"2019-08-28T04:08:21.8236859Z","DeviceId":"DJT3COE4","count":1}

В: обработанное нисходящее сообщение, которое публикуется в Eventhub, и это сообщение должно быть получено одно за другим, нужно ли мне что-то делать в запросе?


person user3725809    schedule 27.08.2019    source источник
comment
Вы имеете в виду, что сообщения приходят в виде массива?   -  person Jay Gong    schedule 28.08.2019
comment
как показано ниже, в виде одной строки {Ts:2019-08-28T04:08:23.3884855Z,DeviceId:DJT3COE4,count:1} {Ts:2019-08-28T04:08:23.0584507Z,DeviceId:DJT3COE4,count: 1} {Ts:2019-08-28T04:08:21.8236859Z,DeviceId:DJT3COE4,count:1} {Ts:2019-08-28T04:08:21.8236859Z,DeviceId:DJT3COE4,count:1}, но для меня результат должен появиться как одно событие, как показано ниже {Ts:2019-08-28T04:08:21.8236859Z,DeviceId:DJT3COE4,count:1}   -  person user3725809    schedule 28.08.2019
comment
обработанное нисходящее сообщение, которое публикуется в Eventhub, и это сообщение должно быть получено одно за другим, что мне нужно сделать в запросе?   -  person user3725809    schedule 28.08.2019


Ответы (1)


В концентраторе событий при получении более 1 обработанного сообщения сообщение не приходит как отдельные события. Сообщение содержит более 1 элемента.

Я боюсь, что вам нужно разобрать такую ​​входящую строку в JsonArray с пользовательской функцией в ASA.

Поскольку функция разделения пока не поддерживается ASA, вы можете обратиться к этому case для использования функций CHARINDEX и SUBSTRING .

person Jay Gong    schedule 29.08.2019