你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在本教程中,你将了解如何使用命名空间主题将数据从 MQTT 客户端路由到 Azure 事件中心。
Prerequisites
- 如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户。
- 如果你不熟悉事件网格,请在开始之前阅读 事件网格概述 。
- 根据注册事件网格资源提供程序中的步骤注册事件网格资源提供程序。
- 确保已在防火墙中打开端口 8883。 本教程中的示例使用 MQTT 协议,该协议通过端口 8883 进行通信。 在某些公司和教育网络环境中,此端口可能被阻止。
在 Azure 门户中创建命名空间
Azure 事件网格中的 命名空间 是一个或多个主题、客户端、客户端组、主题空间和权限绑定的逻辑容器。 使用 Azure 事件网格命名空间,可以将相关资源组合在一起,并将其作为 Azure 订阅中的单个单元进行管理。 唯一的命名空间允许在同一 Azure 区域中有多个资源。
创建命名空间:
登录到 Azure 门户。
在搜索框中,输入 事件网格命名空间 ,并从结果中选择 事件网格命名空间 。
在 “事件网格命名空间 ”页上,选择“ + 创建”。
在“基本信息”页上执行以下步骤。
选择要在其中创建命名空间的 Azure 订阅。
选择现有 资源组 或创建资源组。
输入命名空间 的名称 。
选择命名空间 的位置 。
选择“查看 + 创建”。
在“查看 + 创建”选项卡中,查看设置。 然后选择 创建。
在“部署已成功”页上选择“转到资源”,以导航到你的命名空间。
创建命名空间主题
如果没有在“事件网格命名空间”页面上,请按照创建、查看和管理命名空间步骤查看要用于创建主题的命名空间。
在 “事件网格命名空间 ”页上的 “事件代理”下,选择 “主题”。
在 “主题 ”页上,选择“ + 主题”。
在“创建主题”页面中,键入要创建的主题的名称,然后选择“创建”。
为事件网格命名空间启用托管标识
在 “事件网格命名空间 ”页上的 “设置”下,选择“ 标识”。
要启用系统分配的托管标识,请选择“开”。
选择“保存”,保存设置。
在确认消息上,选择“ 是”。
确认显示了系统分配的托管标识的对象 ID,以及用于分配角色的链接。
在 Azure 门户中检查通知,确认是否为命名空间启用了托管标识。
为事件网格命名空间启用 MQTT 代理
在 Web 浏览器的一个单独选项卡或单独窗口中,使用 Azure 门户创建具有事件中心的事件中心命名空间。
创建事件中心命名空间
事件中心命名空间提供创建事件中心的唯一范围容器。 若要使用 Azure 门户在资源组中创建命名空间,请执行以下操作。
在 Azure 门户中的浮出控件菜单中,选择 “所有服务”。 在“ 所有服务 ”页中,搜索并选择 “事件中心”。
在 “事件中心 ”页中,选择“ 创建”。
在“创建命名空间”页上执行以下步骤:
选择要在其中创建命名空间的订阅。
选择在上一步中创建的 资源组 。
输入命名空间的名称。 系统会立即检查该名称是否可用。
选择命名空间的区域。
对于定价层,请选择“ 基本”。
保留 吞吐量单位(对于标准层)或 处理单元(对于高级层)的设置。 若要了解吞吐量单位或处理单元,请参阅 事件中心可伸缩性。
选择 审阅 + 创建。
在“查看 + 创建”页上查看设置,然后选择“创建”。 等待部署完成。
在“部署”页上选择“转到资源”,以便导航到你的命名空间所对应的页面。
确认显示的“事件中心命名空间”页与以下示例类似:
创建事件中心
若要在该命名空间中创建事件中心,请执行以下操作:
在 “概述 ”页上,选择“ + 事件中心”。
为事件中心键入名称,然后选择“查看 + 创建”。
在“查看 + 创建”页面上,选择“创建”。
可以在警报中检查事件中心的创建状态。 创建事件中心后,事件中心列表中会显示该事件中心。
为事件网格命名空间提供将事件发送到事件中心的访问权限
在“事件中心命名空间”页上,选择“访问控制”(IAM)。
在 “访问控制 ”页上,选择“ + 添加”,然后选择“ 添加角色分配”。
在 “添加角色分配 ”页上,从角色列表中选择 “Azure 事件中心数据发送者”,然后选择“ 下一步”。
在“成员”页上,执行以下步骤:
对于“将访问权限分配给”字段,选择“托管标识”。
选择“+ 选择成员”。
在“选择托管标识”页上,执行以下步骤:
选择 Azure 订阅。
对于“托管标识”,选择“事件网格命名空间”。
选择与事件网格命名空间同名的托管标识。
选择 选择。
在 “添加角色分配 ”页上,选择“ 查看 + 分配”。
在“查看 + 分配”页面上,选择“查看 + 分配”。
创建包含事件中心的事件订阅作为终结点
切换到 Web 浏览器窗口的选项卡,其中打开了事件网格命名空间。
在“事件网格命名空间”页面,选择“主题”。
在“主题”页面上,选择你之前创建的命名空间主题。
在 “事件网格命名空间主题 ”页上,选择“ + 订阅”。
在“创建订阅”页上,执行以下步骤:
为事件订阅输入 名称。
对于“交付模式”,选择“推送”。
确认 终结点类型 已设置为 事件中心。
选择“配置终结点”。
在 “选择事件中心 ”页上,执行以下步骤:
选择具有事件中心的 Azure 订阅。
选择具有事件中心的 资源组 。
选择“事件中心命名空间”。
在 事件中心命名空间中选择事件中心 。
然后,选择“确认选择”。
返回“创建订阅”页面,为“托管标识类型”选择“系统分配”。
选择 创建。
在事件网格命名空间中配置路由
通过在“事件网格命名空间主题”页的“Essentials”部分中选择命名空间,或通过在顶部的痕迹导航菜单中选择命名空间名称,导航回到“事件网格命名空间”页。
在 “事件网格命名空间 ”页上的 MQTT 中转站下,选择“ 路由”。
在“路由”页上,选择“启用路由”。
对于“主题类型”,选择“命名空间主题”。
对于 “主题”,请选择在路由所有 MQTT 消息的位置创建的事件网格命名空间主题。
选择“应用”。
检查通知以确认是否已为命名空间启用路由信息。
创建客户端、主题空间和权限绑定
按照快速入门:发布和订阅 MQTT 主题中的步骤进行操作:
创建客户端。 如果需要,可以创建第二个客户端,但这是可选的。
创建主题空间。
创建发布者和订阅者权限绑定。
使用 MQTTX 发送一些消息。
在你的事件中心命名空间的“概述”页面上验证事件中心是否已收到这些消息。
使用流分析查询在事件中心查看路由的 MQTT 消息
在 Azure 门户中,导航到事件订阅中的事件中心实例(事件中心)。 使用流分析处理事件中心中的数据。 有关详细信息,请参阅 使用 Azure 流分析从事件中心处理数据。 你可以在查询中看到 MQTT 消息。
后续步骤
有关代码示例,请转到 MqttApplicationSamples GitHub 存储库。