流分析:基于消息负载的动态输出路径
Stream Analytics: Dynamic output path based on message payload
我正在开发一种 IoT 分析解决方案,该解决方案使用在 Azure IoT 中心触发的 Avro 格式消息,并(希望)使用流分析将消息存储在 Data Lake 和 blob 存储中。为了下游消费者的利益,一个关键要求是 Avro 容器在存储中必须与呈现给 IoT 中心时完全相同。
我 运行 在流分析中存在对单个文件创建进行精细控制的限制。在设置新的输出流路径时,我只能在路径前缀中提供 date/day 和小时,导致每小时一个文件,而不是收到的每条消息一个文件。客户需要为每个设备使用单独的 blob 容器,并为每个事件使用单独的 blob。同样,数据湖要求至少规定了一个由设备描述的合理命名约定,每个事件都有单独的文件。
有没有人成功配置流分析以在每次从输入中弹出消息时创建一个新文件?这是硬性产品限制吗?
Stream Analytics确实是面向大流的高效处理。
对于您的用例,您需要一个额外的组件来实现您的自定义逻辑。
流分析可以输出到 Blob、事件中心、Table 存储或服务总线。另一种选择是使用新的 Iot Hub Routes 直接路由到事件中心或服务总线队列或主题。
从那里您可以编写一个 Azure Function (or, from Blob or Table Storage, a custom Data Factory activity) and use the Data Lake Store SDK 来编写具有您需要的逻辑的文件。
我正在开发一种 IoT 分析解决方案,该解决方案使用在 Azure IoT 中心触发的 Avro 格式消息,并(希望)使用流分析将消息存储在 Data Lake 和 blob 存储中。为了下游消费者的利益,一个关键要求是 Avro 容器在存储中必须与呈现给 IoT 中心时完全相同。
我 运行 在流分析中存在对单个文件创建进行精细控制的限制。在设置新的输出流路径时,我只能在路径前缀中提供 date/day 和小时,导致每小时一个文件,而不是收到的每条消息一个文件。客户需要为每个设备使用单独的 blob 容器,并为每个事件使用单独的 blob。同样,数据湖要求至少规定了一个由设备描述的合理命名约定,每个事件都有单独的文件。
有没有人成功配置流分析以在每次从输入中弹出消息时创建一个新文件?这是硬性产品限制吗?
Stream Analytics确实是面向大流的高效处理。 对于您的用例,您需要一个额外的组件来实现您的自定义逻辑。
流分析可以输出到 Blob、事件中心、Table 存储或服务总线。另一种选择是使用新的 Iot Hub Routes 直接路由到事件中心或服务总线队列或主题。
从那里您可以编写一个 Azure Function (or, from Blob or Table Storage, a custom Data Factory activity) and use the Data Lake Store SDK 来编写具有您需要的逻辑的文件。