У меня есть сценарий, когда устройство отправляет данные в этом формате
[
{
"Metadata":{"DeviceID":"MWS55V","GatewayID":"abc1"},
"Payload": [{"Type":"401","Data":"17.51"}],
"Timestamp":"2018-11-01T09:33:05Z"},
{
"Metadata":{"DeviceID":"MWS55V","GatewayID":"abc1"},
"Payload": [{"Type":"401","Data":"18.28"}],
"Timestamp":"2018-11-01T09:34:05Z"
}
]
Я добавил Azure Stream Analytics C # UDF
с идеей использовать весь объект в качестве параметра и изменять каждый Payload.Data
на основе Payload.Type
.
Но когда я пытаюсь передать объект Payload
в качестве параметра c# UDF
, возникает исключение
Ошибка: ** Системное исключение ** ASA передал неподдерживаемый тип System.Object для маршалинга в CSharp UDF Func с переменной полезной нагрузкой
Единственный способ, которым это работает, - это когда я пробую параметры типа (long, string и т. Д.).
Хотя этот документ явно говорит о поддерживаемых типах, есть ли способ получить весь объект внутри c# udf
или этот сервис не самый лучший для этого сценария, и мне нужно использовать что-то еще?