若要与命名空间中的事件中心通信,需要命名空间或事件中心的连接字符串。 如果你的应用程序使用命名空间的连接字符串,则该应用程序对该命名空间中的所有事件中心都具有所提供的访问权限(管理、读取或写入)。 如果你使用某个事件中心的连接字符串,则表示你已被授予对该特定事件中心的访问权限。
命名空间的连接字符串中嵌入了以下组件:
- 所创建的事件中心命名空间的完全限定的域名(包括事件中心命名空间的名称,后跟
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 订阅。 如果没有订阅,请在开始之前创建一个免费帐户。
- 一个 Event Hubs 命名空间和一个事件中心。 如果你没有这些,请参见快速入门:通过Azure门户创建活动中心。
- 若要使用Azure PowerShell或Azure CLI,请在本地安装Azure PowerShell或Azure CLI。
Azure 门户
命名空间的连接字符串
登录到 Azure 门户。
在门户顶部的搜索框中输入 “事件中心”,然后从结果中选择 事件中心 。
在活动中心命名空间列表中,选择您的命名空间。
在事件中心命名空间页面,在设置左侧菜单选择共享访问策略。
在政策列表中选择共享访问策略。 默认策略名为 RootManageSharedAccessKey。 你也可以添加一个带有相应权限(发送、 监听)的策略,并使用该策略。
选择“连接字符串 - 主密钥”字段旁边的“复制”按钮 。
命名空间中用于特定事件中心的连接字符串
本节说明了如何获取命名空间中特定事件中心的连接字符串。
在事件中心命名空间页面,左侧菜单的实体下选择事件中心,然后选择你的活动中心。
在“事件中心实例”页上,在“设置”下的左侧菜单上选择“共享访问策略”。
没有为事件中心创建任何默认策略。 创建具有 Manage、Send 或 Listen 访问权限的策略。
从列表中选择策略。
选择“连接字符串 - 主密钥”字段旁边的“复制”按钮 。
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的信息: