Steam 分析的非 Azure input/source 选项

Non-Azure input/source options for Steam Analytics

Steam Analytics 是否支持 Azure 系列产品以外的输入源?

例如,我可以设置一个 REST 端点并以此方式发送事件吗?是否有 node.js 的客户端库?

这方面的文档有点缺乏;在假设两个方面都没有之前,我想在这里检查一下。

我认为答案是否定的 Azure 流分析当前不支持非 Azure 源。

一种推荐的方法是写入 Azure 事件中心,然后让 Azure 流分析从那里读取。

您可以写入 Node.JS 中的事件中心: http://hypernephelist.com/2014/09/16/sending-data-to-azure-event-hubs-from-nodejs.html

下面的一些间接证据似乎证明 Azure 不支持将非 Azure 服务作为流分析的输入。

  1. 来自 Stream Analytics https://msdn.microsoft.com/en-us/library/azure/dn835010.aspx 的 REST API Create Input,只有三个数据源,包括 Event HubBlob Storgae & IoT Hub.

  2. 用于添加输入的 Azure 旧门户和新门户的屏幕截图。

图 1. Azure 旧门户上的输入选项(第 1 步)

图 2. 数据流的选项(第 2 步)

图 3. 参考数据选项(第 2 步)

图 4. Azure 新门户上的输入选项

修改我的旧答案。

正如@PanagiotisKanavos 所说,Azure 流分析 (ASA) 只是处理服务引擎,而不是摄取端点,它不需要像 EventHub 那样具有非 azure 输入源,以及如何为 ASA 提供数据有数据。

EventHub 可供 ASA 使用,拥有可在大量不同机器、外形规格等上运行的各种库,并且可以 运行 在任何 OS 和许多框架上。最坏的情况,简单的 HTTP 也可以,AMQP 不是强制性的,但在性能方面绝对是理想的。

正确的路线是PRODUCER -> EventHub -> ASAPRODUCER -> STORAGE -> ASA。因此,如果有一个库支持在他们想要的设备上存储,它也可以工作,但 EventHub 显然是更好的选择。

非常感谢@PanagiotisKanavos 的帮助。