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

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

主要优点

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

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

端到端流

重要

  • 如果你不是 Azure 订阅级别的所有者参与者角色的成员,则必须是 Azure 订阅级别的流分析查询测试者角色的成员,才能成功完成本部分中的步骤。 此角色允许你执行测试查询,而无需先创建流分析作业。 有关向用户分配角色的说明,请参阅向用户分配 AD 角色
  • 如果事件中心仅允许通过专用终结点进行专用访问,则必须将流分析作业加入同一网络,以便作业可以访问事件中心的事件。
  1. 登录到 Azure 门户

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

  3. 在左侧导航菜单上,展开“功能”,选择“处理数据”,然后在“从事件中启用实时见解”磁贴上选择“开始”。

    显示“处理数据”页面的屏幕截图,且在该页面中选择了“启用根据事件得出实时见解”磁贴。

  4. 你会看到一个查询页面,其中包含已为以下字段设置的值。 如果你看到一个关于使用者组和正在为你创建的策略的弹出窗口,请选择“确定”。 你会立即在此选项卡中看到最新传入数据的快照。

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

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

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

      显示流分析查询的“查询”编辑器的屏幕截图。

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

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

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

    • 在上图中,结果以表格式显示。 若要查看原始数据,请选择“原始”

      “处理数据”页面结果窗格中“输入预览”窗口的屏幕截图,其中的数据以原始格式显示。

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

    结果窗格中带有测试结果的“输入预览”窗口的屏幕截图。

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

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

    “查询”页面的屏幕截图,且在该页面中选择了“创建流分析作业”链接。

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

    1. 指定作业的名称。

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

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

    4. 选择作业的位置。

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

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

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

      显示“新建流分析作业”窗口的屏幕截图。

      注意

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

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

    显示“流分析作业”页面的屏幕截图,其中包含可用于添加输出的链接。

  9. 添加所选的输出

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

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

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

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

    流分析作业“开始作业”页面的屏幕截图。

Access

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

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

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

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

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

显示“Microsoft.StreamAnalytics 权限”页面的屏幕截图。

流式处理单位

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

显示流分析作业的“扩展”页面的屏幕截图。

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