流分析:在同一作业中处理压缩和未压缩的数据
Stream Analytics: Process compressed and uncompressed data in same job
我们正在使用流分析从 IoT 中心读取 IoT 消息。
为了提高带宽使用率,我们希望以压缩格式发送数据。
我知道,流分析支持解压缩 gzip 和 deflate 格式的输入流,记录在案 here。
但是,在迁移期间,我们可能会有设备向 IoT 中心发送压缩和未压缩数据,我们必须处理这两种格式/客户端版本。
我正在考虑在客户端消息中包含元数据 属性 以指示负载是压缩的还是未压缩的,并使用 IoT 中心路由路由到 2 个不同的流分析作业(一个读取压缩格式和一个读取数据纯文本),但是我不喜欢重复流分析作业的想法,这些作业仅在这一设置上有所不同。
另一个想法是通过执行条件 compressing/uncompressing 的 Azure 函数流式传输数据,然后将纯消息转发到事件中心,事件中心用作流分析的单个输入,输入解压缩已停用。这种方法的缺点是中间 Azure 函数和架构更改的成本。
是否有更简单的方法来完成此迁移方案?
您可能不需要两个 ASA 作业,但也许您可以将消息路由到事件中心,如果您添加元数据 属性,并且只需将另一个输入(该事件中心)添加到您现有的 ASA 作业.
例如,对于作为事件压缩类型的特定输入,您将使用 GZip,而对于 IoT 中心,可能是 'None'。
我们正在使用流分析从 IoT 中心读取 IoT 消息。 为了提高带宽使用率,我们希望以压缩格式发送数据。 我知道,流分析支持解压缩 gzip 和 deflate 格式的输入流,记录在案 here。
但是,在迁移期间,我们可能会有设备向 IoT 中心发送压缩和未压缩数据,我们必须处理这两种格式/客户端版本。
我正在考虑在客户端消息中包含元数据 属性 以指示负载是压缩的还是未压缩的,并使用 IoT 中心路由路由到 2 个不同的流分析作业(一个读取压缩格式和一个读取数据纯文本),但是我不喜欢重复流分析作业的想法,这些作业仅在这一设置上有所不同。
另一个想法是通过执行条件 compressing/uncompressing 的 Azure 函数流式传输数据,然后将纯消息转发到事件中心,事件中心用作流分析的单个输入,输入解压缩已停用。这种方法的缺点是中间 Azure 函数和架构更改的成本。
是否有更简单的方法来完成此迁移方案?
您可能不需要两个 ASA 作业,但也许您可以将消息路由到事件中心,如果您添加元数据 属性,并且只需将另一个输入(该事件中心)添加到您现有的 ASA 作业. 例如,对于作为事件压缩类型的特定输入,您将使用 GZip,而对于 IoT 中心,可能是 'None'。