У меня есть сценарий, когда устройство отправляет данные в этом формате
[
{
"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 с переменной полезной нагрузкой
Единственный способ, которым это сработало, - это когда я пробовал параметры типа (длинные, строки и т. Д.).
Хотя это doc явно указывает поддерживаемые типы, есть ли способ получить весь объект внутри c# udf
или этот сервис не лучший для этого сценария, и мне нужно использовать что-то еще?