获取事件中心连接字符串

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

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

  • 创建的事件中心命名空间的完全限定的域名(包括事件中心命名空间的名称,后接 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. 在“事件中心命名空间”页中的左侧菜单上选择“共享访问策略” 。

  6. 在策略列表中选择“共享访问策略”。 默认值命名为:RootManageSharedAccessPolicy。 可以添加具有适当权限(发送、侦听)的策略,并使用该策略。

    事件中心共享访问策略

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

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

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

本部分介绍了获取用于命名空间中特定事件中心的连接字符串的步骤。

  1. 在“事件中心命名空间”页上,选择底部窗格中的事件中心。

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

  3. 没有为事件中心创建任何默认策略。 可使用“管理”、“发送”或“侦听”权限创建策略 **。

  4. 从列表中选择策略。

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

    到特定事件中心的连接字符串。

Azure PowerShell

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

下面是获取命名空间连接字符串的示例命令。 MyAuthRuleName 是共享访问策略的名称。 对于命名空间,有一个默认策略:RootManageSharedAccessKey

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

下面是一个示例命令,用于获取命名空间中特定事件中心的连接字符串:

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

下面是一个示例命令,用于获取 Geo-DR 群集中的事件中心的连接字符串,该群集有一个别名。

Get-AzEventHubKey -ResourceGroupName MyResourceGroupName -NamespaceName MyNamespaceName -EventHubName MyEventHubName -AliasName MyAliasName -Name 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

下面是一个示例命令,用于获取 Geo-DR 群集中的事件中心的连接字符串,该群集有一个别名。

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

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

后续步骤

访问以下链接可以了解有关事件中心的详细信息: