你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

获取Microsoft Entra令牌,并使用它将事件发送到事件中心

有关获取Microsoft Entra令牌的概述,请参阅从应用程序进行身份验证

本文提供了获取Microsoft Entra令牌的示例,该令牌可用于向事件中心命名空间发送事件以及从事件中心接收事件。 它使用 Postman 工具进行测试。

先决条件

向 Microsoft Entra ID 注册应用

第一步是将应用程序注册到Microsoft Entra租户,并记下租户 ID、客户端 ID 和客户端密码的值。 使用 Postman 工具测试 REST API 时,你将使用最新的这些值。

  1. 登录 Azure 门户

  2. 在搜索栏中,搜索Microsoft Entra ID,并从下拉列表中选择它。

  3. “Microsoft Entra ID”页上,选择左侧菜单上的“应用注册”链接,然后在工具栏上选择“+ 新建注册”。

    显示“应用注册”页的屏幕截图,其中选择了“新建注册”链接。

  4. 输入应用 的名称 ,然后选择“ 注册”。

    显示“注册应用程序”页的屏幕截图。

  5. 在应用程序的主页上,记下 “应用程序 (客户端) ID ”和 “目录 (租户) ID”的值。 使用这些值从Microsoft Entra ID获取令牌。

    显示主页的屏幕截图,其中突出显示了客户端 ID 和租户 ID。

  6. 现在,在左侧菜单中选择“ 证书 & 机密 ”,然后选择“ + 新建客户端密码”。

    显示“证书 & 机密”页的屏幕截图。

  7. 输入 说明,选择机密 何时过期,然后选择 “添加”。

    显示说明、选择到期时间和“添加”按钮的屏幕截图。

  8. 选择 “客户端 机密”列表中机密值旁边的“复制”按钮,将该值复制到剪贴板。 将其粘贴到某个位置。 稍后会使用它从Microsoft Entra ID获取令牌。

    显示“客户端机密”按钮的屏幕截图。

将应用程序添加到事件中心数据发送者角色

在此示例中,我们只向事件中心发送消息,因此请将应用程序添加到Azure 事件中心数据发送者角色。

  1. “事件中心命名空间”页上,从左侧菜单中选择“访问控制”,然后在“添加角色分配”磁贴上选择“添加”。

    显示“访问控制”页的屏幕截图。

  2. “添加角色分配”页上,选择“Azure 事件中心数据发送方”作为“角色”,然后选择应用程序 (在本示例中为服务主体) ServiceBusRestClientApp

    显示将应用添加到Azure 事件中心数据发送者角色的屏幕截图。

  3. “添加角色分配”页上选择“保存”以保存角色分配。

使用 Postman 获取Microsoft Entra令牌

  1. 启动 Postman。

  2. 对于方法,请选择“GET”。

  3. 对于 URI,请输入 https://login.microsoftonline.com/<TENANT ID>/oauth2/token。 将 替换为 <TENANT ID> 前面复制的租户 ID 值。

  4. 在“标头”选项卡上,添加 Content-Type 键,并添加 application/x-www-form-urlencoded 作为值。

    显示内容类型标头的屏幕截图。

  5. 切换到“正文”选项卡,添加以下键和值。

    1. 选择 “表单数据”。

    2. 添加 grant_type 键,并键入 client_credentials 作为值。

    3. 添加 client_id 密钥,并粘贴前面记录的 客户端 ID 的值。

    4. 添加 client_secret 密钥,并粘贴前面记录的 客户端密码 值。

    5. 添加 resource 键,并键入 https://eventhubs.azure.net 作为值。

      显示请求正文的屏幕截图。

  6. 选择“发送”以发送获取令牌的请求。 结果中会显示令牌。 保存令牌 (不包括双引号) 。 稍后会使用它。

    显示来自Microsoft Entra的访问令牌的屏幕截图。

将事件发送到事件中心

  1. 在“Postman”中打开一个新的选项卡。

  2. 为方法选择 “POST ”。

  3. 按以下格式输入 URI: https://<EVENT HUBS NAMESPACE NAME>.servicebus.windows.net/<QUEUE NAME>/messages。 将 替换为 <EVENT HUBS NAMESPACE NAME> 事件中心命名空间的名称。 将 <QUEUE NAME> 替换为该队列的名称。

  4. 在“ 标头 ”选项卡上,添加以下两个标头。

    1. 按以下格式为其添加 Authorization 键和值: Bearer <TOKEN from Microsoft Entra ID>。 复制/粘贴令牌时,请勿复制括起来的双引号。

    2. 添加 Content-Type 键 和 application/atom+xml;type=entry;charset=utf-8 作为其值。

      事件中心强调的“标头”选项卡的屏幕截图。

  5. 在“ 正文 ”选项卡上 ,为数据类型 选择 raw,并为正文输入 This is a message 或任何消息。

    事件中心原始正文视图中测试事件的屏幕截图。

  6. 选择“ 发送 ”将消息发送到队列。 将状态 Created 显示为 ,代码为 201,如下图所示。

    显示成功状态的屏幕截图。

  7. 在Azure 门户的命名空间页上,可以看到消息已发布到队列。

    显示发布到队列的消息的屏幕截图。

另请参阅

请参阅以下文章: