流分析:基于消息有效负载的动态输出路径

时间:2016-12-20 02:21:24

标签: azure azure-storage azure-stream-analytics azure-data-lake azure-iot-hub

我正在研究物联网分析解决方案,该解决方案使用在Azure IoT Hub上发布的Avro格式化消息,并且(希望)使用Stream Analytics在Data Lake和blob存储中存储消息。一个关键要求是,为了下游消费者的利益,Avro容器在存储方面必须与提供给IoT Hub时的存储完全相同。

我遇到了Stream Analytics的限制,对每个文件的创建进行了精细控制。设置新的输出流路径时,我只能在路径前缀中提供日期/日期和小时,每小时产生一个文件,而不是每个接收到的消息都有一个文件。客户需要为每个设备单独使用blob容器,并为每个事件分别使用blob。同样,Data Lake的要求至少要求设备描述一个合理的命名约定,并为每个事件提供单独的文件。

是否有人成功配置Stream Analytics以在每次从输入中弹出消息时创建新文件?这是一个很难的产品限制吗?

1 个答案:

答案 0 :(得分:1)

Stream Analytics确实面向高效处理大型流。 对于您的用例,您需要一个额外的组件来实现自定义逻辑。

Stream Analytics可以输出到Blob,事件中心,表存储或服务总线。另一种选择是使用新的Iot Hub Routes直接路由到事件中心或服务总线队列或主题。

从那里你可以写一个Azure Function(或者,从Blob或表存储,一个custom Data Factory activity)并使用Data Lake Store SDK来编写你需要的逻辑文件。