使用 Azure 事件网格将 Blob 存储事件路由到 Web 终结点(Azure 门户)

事件网格是一项全面托管的服务,可用于在许多不同的 Azure 服务和应用程序中轻松管理事件。 它简化了生成事件驱动的应用程序和无服务器应用程序的过程。 有关服务的概述,请参阅事件网格概述

在本文中,你将使用 Azure 门户执行以下任务:

  1. 创建 Blob 存储帐户。
  2. 订阅该 Blob 存储的事件。
  3. 通过将文件上传到 Blob 存储来触发事件。
  4. 在处理程序 Web 应用中查看结果。 通常,你会将事件发送到处理事件数据并执行操作的终结点。 为简单起见,将事件发送到一个收集并显示消息的 Web 应用。

如果没有 Azure 订阅,可在开始前创建一个试用帐户

完成后即可看到事件数据已发送到 Web 应用。

显示包含事件的示例 Azure 事件网格查看器应用的屏幕截图。

创建存储帐户

  1. 登录到 Azure 门户

  2. 若要创建 Blob 存储,请选择“创建资源”。

  3. 在“搜索”中,输入“存储帐户”,然后从结果列表中选择“存储帐户”。

    显示在“创建资源”页上搜索“存储帐户”的屏幕截图。

  4. 在“存储帐户”页上,选择“创建”,开始创建存储帐户。 要订阅事件,请创建常规用途 v2 存储帐户或 Blob 存储帐户。

  5. 在“创建存储帐户”页中执行以下步骤:

    1. 选择 Azure 订阅。

    2. 对于“资源组”,创建一个新资源组或选择现有的资源组。

    3. 输入存储帐户的名称。

    4. 选择要在其中创建存储帐户的“区域”。

    5. 对于“冗余”,从下拉列表中选择“本地冗余存储(LRS)”。

    6. 在页面底部选择“查看”。

      显示“创建存储帐户”页的屏幕截图。

    7. 在“查看”页上查看设置,然后选择“创建”。

      注意

      只有种类为“StorageV2 (常规用途 v2)”和“BlobStorage”的存储帐户支持事件集成。 “存储(常规用途 v1)”不支持与事件网格集成。

  6. 部署需要数分钟才能完成。 在“部署”页上,选择“转到资源”。

    显示部署成功页的屏幕截图,其中包含用于转到资源的链接。

  7. 在“存储帐户”页上,在左侧菜单中选择“事件”。

    显示 Azure 存储帐户的“事件”页的屏幕截图。

  8. 使此页面在 Web 浏览器中保持打开状态。

创建消息终结点

在订阅 Blob 存储的事件之前,让我们创建事件消息的终结点。 通常情况下,终结点基于事件数据执行操作。 为了简化此快速入门,将部署用于显示事件消息的预生成 Web 应用。 所部署的解决方案包括应用服务计划、应用服务 Web 应用和 GitHub 中的源代码。

  1. 选择“部署到 Azure”将解决方案部署到你的订阅。

    用于将资源管理器模板部署到 Azure 的按钮。

  2. 在“自定义部署”页上执行以下步骤:

    1. 对于“资源组”,请选择你在创建存储帐户时创建的资源组。 这样就可以在完成本教程后,通过删除资源组来更轻松地进行清理。

    2. 对于“站点名称”,请输入 Web 应用的名称。

    3. 对于“托管计划名称”,请输入用于托管 Web 应用的应用服务计划的名称。

    4. 选择“查看 + 创建”。

      显示“自定义部署”页的屏幕截图。

  3. 在“查看 + 创建”页面上,选择“创建”。

  4. 部署需要数分钟才能完成。 在“部署”页上,选择“转到资源组”。

    显示部署成功页的屏幕截图,其中包含用于转到资源组的链接。

  5. 在“资源组”页上,在资源列表中,选择你创建的 Web 应用。 在此列表中还可以看到应用服务计划和存储帐户。

    显示在资源组中选择 Web 应用的屏幕截图。

  6. 在 Web 应用的“应用服务”页上,选择相应的 URL 以导航到该网站。 URL 应采用以下格式:https://<your-site-name>.chinacloudsites.cn

    显示选择用于导航到 Web 应用的链接的屏幕截图。

  7. 确认你可以看到站点,但尚未有任何事件发布到站点。

    查看新站点。

    重要

    使 Azure 事件网格查看器窗口保持打开状态,以便在发布事件时查看这些事件。

注册事件网格资源提供程序

除非你以前用过事件网格,否则你需要注册事件网格资源提供程序。 如果你以前用过事件网格,请转到下一部分。

在 Azure 门户中,执行以下步骤:

  1. 在左侧菜单中选择“订阅”。

  2. 从订阅列表中选择要用于事件网格的订阅。

  3. 在“订阅”页左侧菜单的“设置”下,选择“资源提供程序”。

  4. 搜索 Microsoft.EventGrid,并确认“状态”为“未注册”。

  5. 在提供程序列表中选择“Microsoft.EventGrid”。

  6. 在命令栏上选择“注册”。

    显示向 Azure 订阅注册 Microsoft.EventGrid 提供程序的图像。

  7. 刷新以确保 Microsoft.EventGrid 的状态更改为“已注册”。

    显示向 Azure 订阅成功注册 Microsoft.EventGrid 提供程序的图像。

订阅 Blob 存储

订阅主题,以告知事件网格要跟踪哪些事件,以及要将事件发送到何处。

  1. 如果关闭了“存储帐户”页,请导航到你之前创建的 Azure 存储帐户。 在左侧菜单中,选择“所有资源”并选择你的存储帐户。

  2. 在“存储帐户”页上,在左侧菜单中选择“事件”。

  3. 依次选择“更多选项”和“Webhook”。 你正在使用终结点的 Webhook 将事件发送到查看器应用。

    显示在“事件”页上选择 Webhook 的屏幕截图。

  4. 在“创建事件订阅”页中执行以下步骤:

    1. 输入事件订阅的“名称”。

    2. 输入系统主题的名称 。 若要了解系统主题,请参阅系统主题的概述

      显示“创建事件订阅”页的屏幕截图,其中包含系统主题的名称。

    3. 对于“终结点类型”,请选择“Web Hook”。

      显示“创建事件订阅”页的屏幕截图,其中选择了 Webhook 作为终结点。

  5. 对于“终结点”,请选择“选择终结点”,输入你的 Web 应用的 URL 并将 api/updates 添加到主页 URL(例如:https://spegridsite.chinacloudsites.cn/api/updates),然后选择“确认选择”。

    显示“选择 Webhook”页的屏幕截图。

  6. 现在,在“创建事件订阅”页上,选择“创建”以创建事件订阅。

    显示“创建事件订阅”页的屏幕截图,其中选择了所有字段。

  7. 再次查看 Web 应用,并注意现已向该应用发送了订阅验证事件。 选择眼睛图标以展开事件数据。 事件网格发送验证事件,以便终结点可以验证它是否想要接收事件数据。 Web 应用包含用于验证订阅的代码。

    显示包含订阅验证事件的“事件网格查看器”的屏幕截图。

现在,让我们触发一个事件,看事件网格如何将消息分发到终结点。

向终结点发送事件

通过上传一个文件来为 Blob 存储触发一个事件。 该文件不需要有任何特定内容。

  1. 在 Azure 门户中,导航到你的 Blob 存储帐户,然后在左菜单上选择“容器”。

  2. 选择“+ 容器”。 为容器命名,使用任意访问级别,然后选择“创建”。

    显示“新建容器”页的屏幕截图。

  3. 选择新容器。

    显示选择订阅的屏幕截图。

  4. 若要上传文件,请选择“上传”。 在“上传 Blob”页上,浏览并选择要上传用于测试的文件,然后在该页上选择“上传”。

    显示“上传 blob”页的屏幕截图。

  5. 浏览到你的测试文件并上传它。

  6. 现已触发事件,并且事件网格已将消息发送到订阅时配置的终结点。 消息采用 JSON 格式,它包含一个或多个事件的数组。 在以下示例中,JSON 消息包含一个事件的数组。 查看 Web 应用,将会看到已收到一个“已创建 Blob”事件。

    显示“事件网格查看器”页的屏幕截图,其中显示了“Blob 已创建”事件。

清理资源

如果打算继续处理此事件,请不要清除本文中创建的资源。 否则,请删除本文中创建的资源。

选择资源组,然后选择“删除资源组”。

后续步骤

了解如何创建自定义主题和事件订阅后,请详细了解事件网格的功能: