首页 文章

Azure Stream Analytics过滤器IOT Hub输入

提问于
浏览
1

我正在尝试使用Azure Stream Analytics将传入的IOT Hub D2C消息持久保存到Azure Cosmos数据库 . 我可以找到的每个Azure Stream Analytics教程都假设从IOT Hub输入传入的消息具有相同的形状,但对于我的情况则不然(出于测试目的,我使用来自IOT边缘模块示例的tempSensor module和另一个自定义模块基于this tutorial) .

这就是为什么我想过滤掉我不想持久的消息(即tempSensor模块发送的消息) . 在有关using the IOT Hub as an Azure Stream Analysis input的文档中,提到了"StreamId":

“IoTHub.StreamId:发件人设备添加的自定义事件属性 . ”

我的想法是在Azure Stream Analytics查询中使用WHERE子句来仅选择具有特定StreamId的消息,但我不知道如何在我自定义的IOT边缘模块中发送消息时设置此StreamId .

  • 如何从IOT边缘设备向IOT Hub发送消息时设置StreamId?

  • 有没有其他方法可以过滤掉不需要的邮件?

2 回答

  • 0

    你知道你要保留或拒绝的所有邮件吗?如果是这样,您还可以过滤数据(而不是元数据) . 特别是如果消息都来自同一个IoT Edge设备,它们可能共享一些元数据 . 例如,要过滤掉tempSensor模块中的消息,您可以使用以下查询:

    SELECT * FROM input WHERE machine.temperature is NULL
    
  • 0
    • 如何从IOT边缘设备向IOT Hub发送消息时设置StreamId?

    UPDATE :好像是文档问题 . 它不是IoT Hub消息中的系统属性,我们无法为此属性设置值 . Microsoft将更新该文档 . 感谢您的耐心等待 .

    • 还有其他方法可以过滤掉不需要的邮件吗?

    您可以在设备中创建过滤器模块,然后配置将D2C消息传输到过滤器的路由 . Here是一个教程作为参考 . 在这个解决方案中, .

    您可以部署Azure功能以过滤IoT Edge设备上的传感器数据 . 请参考这个document .

相关问题