Azure消息大小限制和IOT

时间:2015-02-11 15:54:43

标签: rest azure messaging azure-servicebus-queues iot

我阅读了azure文档,发现队列的消息大小限制为64 Kb,服务总线为256 KB。我们正在尝试开发一个应用程序,它将从某些设备读取传感器数据,调用REST服务并将其上传到云。此数据将存储在队列中,然后转储到云数据库中。

有可能收集的传感器数据超过256 KB ......在这种情况下,推荐的方法是什么......我们是否需要拆分数据 在REST服务中,然后将数据块放入队列中,或者是否存在任何其他推荐的模式

感谢任何帮助

1 个答案:

答案 0 :(得分:2)

您有几个相互冲突的技术陈述。我将首先澄清一些。

  1. Service Bus / IoT Hub不是发布呼叫。一个帖子会使用一个 宁静的服务,分开存在。 IoT Hub使用低 从您身上抽象出来的延迟消息传递系统。这些 旨在成为大容量小包,适合大多数物联网 场景。

  2. 在消息大于256 KB的情况下(对于物联网场景非常有趣,我会感兴趣的是 看看为什么这些消息如此之大),理想情况下你应该上传到 blob存储。你仍然可以发送数据包

    • 如果您可以使用您的设备访问blob存储api,那么您应该采用这种方式
    • 如果您无权访问此内容,则应将大数据包发布到休息终点并交叉手指将其发送或切断。

      1. 您可以对blob存储运行后期分析,我建议使用wasb前缀,因为这些容器符合Hadoop标准,您可以在这些存储机制之上建立分析集群。
  3. 你真的不需要我能立刻看到的队列。

    你应该看一下利用模式:

    1. 流分析:https://azure.microsoft.com/en-us/services/stream-analytics/
    2. Azure数据工厂:https://azure.microsoft.com/en-us/services/data-factory/
    3. 您的典型提示将是:尽可能轻松地将您的数据上传到云中,然后使用可以站起来按需拆除的群集来处理分析。廉价存储通常是blob,而分析集群通常是某种形式的Hadoop。使用数据工厂允许您在计算出要使用它的特定组件的时候管道数据。

      使用HBase作为底层使用廉价blob存储并将Azure Machine Learning作为我的分析解决方案的一部分使用的示例:http://indiedevspot.com/2015/07/09/powering-azureml-with-hadoop-hbase/