Steam 分析的非 Azure 输入/源选项
Posted
技术标签:
【中文标题】Steam 分析的非 Azure 输入/源选项【英文标题】:Non-Azure input/source options for Steam Analytics 【发布时间】:2016-03-06 02:10:49 【问题描述】:Steam 分析是否支持 Azure 系列产品以外的输入源?
例如,我可以设置一个 REST 端点并以这种方式发送事件吗?是否有 node.js 的客户端库?
这方面的文档有点少;我想在这两个方面都假设 no 之前检查这里。
【问题讨论】:
当然可以,通过事件中心,它的主要摄取选项。流分析处理事件,它不摄取它们。事件中心提供 REST、AMQP、MQTT 端点、批处理、分区等。事件中心旨在处理数以百万计的事件和流分析来处理它们。 【参考方案1】:我相信答案是否定的,Azure 流分析目前不支持非 Azure 源。
一种推荐的方法是写入 Azure 事件中心,然后让 Azure 流分析从那里读取。
您可以在 Node.JS 中写入事件中心: http://hypernephelist.com/2014/09/16/sending-data-to-azure-event-hubs-from-nodejs.html
【讨论】:
感谢您的反馈。这就是我所害怕的。 这是不正确的,因为对流分析是/做什么的误解。它处理外部事件。它不会摄取它们,这是事件中心的工作。摄取数百万个事件并非微不足道,这就是为什么这两个服务是分开的 @PanagiotisKanavos 同意。你称之为“摄取”,提问者称之为“来源”。无论如何 ASA 处理已在 Azure 中的事件,并且无法处理由不在 Azure 中的某些服务引入的事件。为什么投反对票? 因为这些是完全不同的概念,结论是错误的。事件中心不是源,它是接受来自源的数据并将它们传递给分析服务的终结点。如果 Azure 是一个数据库,那么事件中心就是侦听 ODBC、OLEDB 连接的 RPC 子系统,而流分析就是查询处理器。【参考方案2】:修改我的旧答案。
正如@PanagiotisKanavos 所说,Azure 流分析 (ASA) 只是处理服务引擎,而不是摄取端点,它不需要像 EventHub 那样具有非天蓝色输入源以及如何为 ASA 提供数据给它。
EventHub 可供 ASA 使用,它拥有各种库,可在大量不同的机器、外形尺寸等上运行,并且可以在任何操作系统和许多框架上运行。最坏的情况,简单的 HTTP 也能正常工作,AMQP 不是强制性的,但在性能方面绝对是理想的。
正确的路线是PRODUCER -> EventHub -> ASA
或PRODUCER -> STORAGE -> ASA
。因此,如果有一个库支持他们想要的设备上的存储,它也可以工作,但 EventHub 显然是更好的选择。
非常感谢@PanagiotisKanavos 的帮助。
【讨论】:
【参考方案3】:下面的一些间接证据似乎证明 Azure 不支持非 Azure 服务作为流分析的输入。
从流分析https://msdn.microsoft.com/en-us/library/azure/dn835010.aspx的REST APICreate Input
来看,只有Event Hub
、Blob Storgae
和IoT Hub
这三个数据源。
来自 Azure 新旧门户的屏幕截图,用于添加输入。
图 1. Azure 旧门户上的输入选项(步骤 1)
图 2. 数据流选项(第 2 步)
图 3. 参考数据选项(第 2 步)
图 4. Azure 新门户上的输入选项
【讨论】:
这只能证明对流分析的误解。这是 processing 服务,而不是摄取端点。您是否会说 SQL Server 不接受来自 SQL Server 外部的连接,因为 查询处理器 只接受来自网络子系统的调用?或者你会说接受这种连接是网络子系统的角色? @PanagiotisKanavos 根据官方文档包括 REST API 的描述,我没有看到任何其他连接作为输入源。您能解释一下如何使用 SQL Server 等其他连接作为输入源吗?感谢您的分享。 还有哪些连接? ASA 是一种处理服务,而不是摄取服务。事实上,它不支持 any 输入,除了 Event Hub 和 blob,因为它没有这样做没有任何意义。 @PanagiotisKanavos 当然。谢谢。 @PeterPan-MSFT 你介意在内部联系我吗?我的别名是 pakefali。应修改上述答案以包含更多信息和限制,因为它不是现在的 100% 正确。谢谢。以上是关于Steam 分析的非 Azure 输入/源选项的主要内容,如果未能解决你的问题,请参考以下文章