流分析:在同一作业中处理压缩和未压缩的数据

时间:2019-11-06 07:05:23

标签: azure azure-iot-hub azure-stream-analytics

我们正在使用Stream Analytics从IoT中心读取IoT消息。 为了提高带宽利用率,我们希望以压缩格式发送数据。 我知道,流分析支持以here记录的gzip和deflate格式对输入流进行解压缩。

但是,在迁移期间,我们可能会有设备将压缩和未压缩的数据发送到IoT中心,并且我们必须处理两种格式/客户端版本。

我当时正在考虑在客户端消息中包含一个元数据属性,以指示有效载荷是压缩还是未压缩,并使用IoT中心路由来路由到2个不同的Stream Analytics作业(一种读取压缩格式,另一种读取普通数据),但是我不喜欢重复只有这一项设置不同的Stream Analytics Jobs的想法。

另一个想法是通过Azure函数流式传输数据,该函数执行条件压缩/解压缩,然后将纯消息转发到事件中心,该事件中心用作流分析的单个输入,而输入解压缩已禁用。这种方法的缺点是中间Azure功能和体系结构更改的成本。

是否有更简单的方法来完成此迁移方案?

1 个答案:

答案 0 :(得分:1)

您可能不需要两个ASA作业,但是如果您添加元数据属性,然后仅将另一个输入(该事件中心)添加到现有ASA作业中,则可以将消息路由到事件中心。 对于该特定输入作为事件压缩类型,您将使用例如GZip,而对于IoT中心,则可能为“无”。