【发布时间】:2018-10-21 11:18:53
【问题描述】:
我有一个模拟物联网设备的 .net 应用程序。它使用 Microsoft.Azure.Devices.Client 创建设备消息并将它们发送到 iothub,然后将它们路由到 Azure 流分析将其作为输入的事件中心。
我在“模拟器”中有以下内容:
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");
在我的天蓝色流分析查询中,我有:
SELECT *, GetMetadataPropertyValue(InputEH, '[User].[test]') as test
INTO OutputEH
FROM InputEH
WHERE test = 'test'
由于某种原因,查询从不向 OutputEH 输出任何数据。我尝试了相同的查询,除了我没有将“test”属性添加到 MessageProperties 中,而是将它放在消息正文中,如果我的查询使用“WHERE InputEh.test = 'test'”,它会按预期工作
为了验证属性,我将输出设置为一个 eventthub,并在其上设置一个事件中心处理器,如果我删除“WHERE”子句,则当消息进入时。在事件中心处理器中,标头似乎已被删除,这告诉我 ASA 出于某种原因正在删除标头。
不知道我在这里做错了什么。任何帮助将不胜感激。
【问题讨论】:
标签: azure azure-iot-hub azure-stream-analytics