获取 Azure 事件中心连接字符串

若要与命名空间中的事件中心通信,需要命名空间或事件中心的连接字符串。 如果你的应用程序使用命名空间的连接字符串,则该应用程序对该命名空间中的所有事件中心都具有所提供的访问权限(管理、读取或写入)。 如果你使用某个事件中心的连接字符串,则表示你已被授予对该特定事件中心的访问权限。

命名空间的连接字符串中嵌入了以下组件:

  • 所创建的事件中心命名空间的完全限定的域名(包括事件中心命名空间的名称,后跟 servicebus.chinacloudapi.cn
  • 共享访问密钥的名称
  • 共享访问密钥的值

命名空间的连接字符串如下所示:

Endpoint=sb://<NamespaceName>.servicebus.chinacloudapi.cn/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>

事件集线器的 连接字符串 中有一个额外的组件,即 EntityPath=<EventHubName>

Endpoint=sb://<NamespaceName>.servicebus.chinacloudapi.cn/;SharedAccessKeyName=<KeyName>;SharedAccessKey=<KeyValue>;EntityPath=<EventHubName>

本文演示了如何使用 Azure 门户、PowerShell 或 CLI 获取命名空间或特定事件中心的连接字符串。

先决条件

Azure 门户

命名空间的连接字符串

  1. 登录到 Azure 门户

  2. 在门户顶部的搜索框中输入 “事件中心”,然后从结果中选择 事件中心

  3. 在活动中心命名空间列表中,选择您的命名空间。

  4. 事件中心命名空间页面,在设置左侧菜单选择共享访问策略

  5. 在政策列表中选择共享访问策略。 默认策略名为 RootManageSharedAccessKey。 你也可以添加一个带有相应权限(发送监听)的策略,并使用该策略。

  6. 选择“连接字符串 - 主密钥”字段旁边的“复制”按钮 。

    Event Hubs 中“获取连接字符串”的屏幕截图。

命名空间中用于特定事件中心的连接字符串

本节说明了如何获取命名空间中特定事件中心的连接字符串。

  1. 事件中心命名空间页面,左侧菜单的实体下选择事件中心,然后选择你的活动中心。

  2. 在“事件中心实例”页上,在“设置”下的左侧菜单上选择“共享访问策略”。

  3. 没有为事件中心创建任何默认策略。 创建具有 Manage、Send 或 Listen 访问权限的策略。

  4. 从列表中选择策略。

  5. 选择“连接字符串 - 主密钥”字段旁边的“复制”按钮 。

    到特定事件中心的连接字符串的屏幕截图。

Azure PowerShell

使用 Get-AzEventHubKey cmdlet 获取特定策略或规则的连接字符串。

以下示例获取命名空间的连接字符串。 MyAuthRuleName 是共享访问策略的名称。 对于命名空间,默认策略为 RootManageSharedAccessKey

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -AuthorizationRuleName MyAuthRuleName

以下示例获取命名空间中特定事件中心的连接字符串:

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -EventHubName MyEventHubName -AuthorizationRuleName MyAuthRuleName

以下示例通过其别名获取属于地理灾难恢复配置的命名空间的连接字符串。

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -AliasName MyAliasName -AuthorizationRuleName MyAuthRuleName

Azure CLI

以下示例获取命名空间的连接字符串。 MyAuthRuleName 是共享访问策略的名称。 对于命名空间,默认策略为 RootManageSharedAccessKey

az eventhubs namespace authorization-rule keys list --resource-group MyResourceGroupName --namespace-name MyNamespaceName --name RootManageSharedAccessKey

以下示例获取命名空间中特定事件中心的连接字符串:

az eventhubs eventhub authorization-rule keys list --resource-group MyResourceGroupName --namespace-name MyNamespaceName --eventhub-name MyEventHubName --name MyAuthRuleName

以下示例通过其别名获取属于地理灾难恢复配置的命名空间的连接字符串。

az eventhubs georecovery-alias authorization-rule keys list --resource-group MyResourceGroupName --namespace-name MyNamespaceName --alias MyAliasName --name MyAuthRuleName

有关事件中心 Azure CLI 命令的详细信息,请参阅事件中心的 Azure CLI

您可以通过访问以下文章了解更多关于Event Hub的信息: