【发布时间】:2017-11-15 06:33:54
【问题描述】:
在我们的用例中,我们在 Azure IoT 中心接收消息,并希望将数据路由到不同的事件中心或服务总线主题。
IoT Hub 路由和端点不是选项,因为数据是二进制数据 (protobuf),并且可能只有 10 个不同的端点(我们需要更多)。
我们的要求是:
- 拆分消息
- 转换数据(可能是json)
- 根据负载路由到不同的端点(消息的不同部分可以路由到不同的端点)
- (可选)使用额外的有效负载丰富数据
我看到了不同的选择:
- Azure 流分析
- Azure 函数
- Spark 或 Flink
- 自己动手(编写应用程序并在 Service Fabric 或 Kubernetes 中运行)
您会推荐哪种技术?
问候, 马库斯
【问题讨论】:
-
嗨。目前 Azure 流分析仅支持 JSON、CSV 和 AVRO,因此如果它是二进制的,它将无法读取传入的消息。如果您之前可以转换它(例如使用 Azure 函数),您可以在流分析中进一步处理它。
-
数据大小是多少?
-
@romanKiss 数据大小取决于,因为消息非常不同。但总的来说,我会说,它很小。最大几 Kb,最大低于 1 Kb。
标签: azure apache-spark apache-flink azure-stream-analytics