У меня есть приложение .net, имитирующее устройство iot.Он использует Microsoft.Azure.Devices.Client для создания сообщений устройства и отправки их на iothub, который затем направляет их в концентратор событий, где Azure Stream Analytics имеет его в качестве входных данных.
У меня есть следующее в"simulator":
messageToSend = new Message(Encoding.ASCII.GetBytes(JsonConvert.SerializeObject(message.Payload)))
{
MessageId = new Guid().ToString(),
ContentType = "application/json",
ContentEncoding = "utf-8",
};
messageToSend.Properties.Add("test", "test");
В моем запросе Azure Stream Analytics у меня есть:
SELECT *, GetMetadataPropertyValue(InputEH, '[User].[test]') as test
INTO OutputEH
FROM InputEH
WHERE test = 'test'
По какой-то причине запрос никогда не выводит никаких данных в OutputEH.Я попробовал тот же запрос, за исключением того, что вместо добавления свойства «test» в свойства MessageProperties я поместил его в тело сообщения, и он работает, как и ожидалось, если мой запрос использует «WHERE InputEh.test = 'test'"
Чтобы проверить свойства, я установил вывод в концентратор событий и настроил на нем процессор концентратора событий, а также, когда приходят сообщения, если я удалю предложение «ГДЕ».В процессоре концентратора событий кажется, что заголовки были удалены, это говорит мне, что ASA по какой-то причине отбрасывает заголовки.
Не уверен, что я делаю здесь неправильно.Любая помощь будет оценена.