使用 Azure 流分析处理事件中心的数据

利用 Azure 流分析服务,可以轻松地通过 Azure 事件中心引入、处理和分析流数据,获得进行实时操作所需的强大洞察力。 可以通过 Azure 门户直观显示传入数据以及编写流分析查询。 查询准备就绪后,单击几下鼠标即可将其移到生产环境中。

主要优点

下面是 Azure 事件中心和 Azure 流分析集成的主要优点:

  • 预览数据 - 可以在 Azure 门户中预览事件中心的传入数据。
  • 测试查询 - 准备一个转换查询并直接在 Azure 门户中对其进行测试。 有关查询语言语法,请参阅流分析查询语言文档。
  • 将查询部署到生产 - 可以通过创建并启动 Azure 流分析作业,将查询部署到生产环境中。

端到端流

重要

如果你不是 Azure 订阅级别的所有者参与者角色的成员,则必须是 Azure 订阅级别的流分析查询测试者角色的成员,才能成功完成本部分中的步骤。 此角色允许你执行测试查询,而无需先创建流分析作业。 有关向用户分配角色的说明,请参阅向用户分配 AD 角色

  1. 登录到 Azure 门户

  2. 导航到你的事件中心命名空间,然后导航到包含传入数据的事件中心

  3. 在事件中心页面上选择“处理数据”,或在左侧菜单中选择“处理数据”。

    Screenshot showing the Process data page for the event hub.

  4. 在“启用根据事件得出实时见解”磁贴上选择“开始”。

    Screenshot showing the Process data page with Enable real time insights from events tile selected.

  5. 你会看到一个查询页面,其中包含已为以下字段设置的值:

    1. 你的事件中心,用作查询的输入。

    2. 包含 SELECT 语句的示例 SQL 查询

    3. 一个输出别名,用于引用查询测试结果。

      Screenshot showing the Query editor for your Stream Analytics query.

      注意

      当你首次使用此功能时,此页会要求你授予相关权限,以便为你的事件中心创建使用者组和策略,然后你就可以预览传入数据。

  6. 在“输入预览”窗格中选择“创建”,如上图所示。

  7. 你会立即在此选项卡中看到最新传入数据的快照。

    • 系统会自动检测数据中的序列化类型 (JSON/CSV)。 还可以手动将序列化类型更改为 JSON/CSV/AVRO。

    • 可以按表格式或原始格式预览传入数据。

    • 如果显示的数据不是最新的,请选择“刷新”查看最新事件。

      下面是表格式数据示例:

      Screenshot of the Input preview window in the result pane of the Process data page in a table format.

      下面是原始格式数据示例:

      Screenshot of the Input preview window in the result pane of the Process data page in the raw format.

  8. 选择“测试查询”即可在“测试结果”选项卡中查看查询测试结果的快照。 还可以下载结果。

    Screenshot of the Input preview window in the result pane with test results.

  9. 编写你自己的查询来转换数据。 请参阅 Stream Analytics Query Language reference(流分析查询语言参考)。

  10. 对查询进行测试后,如果想要将其移入生产环境,请选择“创建流分析作业”。

    Screenshot of the Query page with the Create Stream Analytics job link selected.

  11. 在“新建流分析作业”页中,执行以下步骤:

    1. 指定作业的名称。

    2. 选择要在其中创建作业的 Azure 订阅。

    3. 选择流分析作业资源的资源组。

    4. 选择作业的位置。

    5. 对于“事件中心策略名称”,请创建新策略或选择现有策略。

    6. 对于 事件中心使用者组”,请创建新的使用者组或选择现有的使用者组。

    7. 选择“创建”以创建流分析作业。

      Screenshot showing the New Stream Analytics job window.

      注意

      建议你为在“事件中心”页创建的每个新的 Azure 流分析作业创建一个使用者组和一个策略。 使用者组仅允许 5 个并发读者。因此,如果为每个作业提供一个专用使用者组,即可避免超出该限制后可能会产生的任何错误。 专用策略允许你轮换密钥或撤销权限而不影响其他资源。

  12. 你的流分析作业现已创建,其中,你的查询与测试的相同,输入是你的事件中心。

    Screenshot showing the Stream Analytics job page with a link to add an output.

  13. 添加所选的输出

  14. 单击痕迹导航链接中的作业名称,返回“流分析作业”页面。

  15. 选择“查询”窗口上方的“编辑查询”。

  16. 使用输出名称更新 [OutputAlias],然后选择查询上方的“保存查询”链接。 通过选择右上角的“X”关闭“查询”页面。

  17. 现在,在“流分析作业”页面上,选择工具栏上的“开始”以开始执行作业。

    Screenshot of the Start job window for a Stream Analytics job.

Access

问题:用户无法访问预览数据,因为它们对订阅没有相应的权限。

选项 1:需要将想要预览传入数据的用户添加为“订阅参与者”。

选项 2:需要在订阅上将用户添加为“流分析查询测试人员”角色。 导航到订阅的“访问控制”。 将用户的新角色分配添加为“流分析查询测试人员”角色。

选项 3:用户可以创建 Azure 流分析作业。 将输入设置为此事件中心并导航到“查询”以预览来自此事件中心的传入数据。

选项 4:管理员可以在订阅上创建自定义角色。 将以下权限添加到自定义角色,然后将用户添加到新的自定义角色。

Screenshots showing Microsoft.StreamAnalytics permissions page.

流式处理单位

Azure 流分析作业默认设置为三个流单元 (SU)。 若要调整此设置,请在 Azure 门户中的“流分析作业”页的左侧菜单中选择“缩放”。 若要详细了解流单元,请参阅了解和调整流单元

Screenshots showing the Scale page for a Stream Analytics job.

后续步骤

若要详细了解流分析查询,请参阅流分析查询语言