有多种方案需要将现有服务总线命名空间从一个区域移到另一个区域。 例如,你可能想要创建具有相同配置的命名空间进行测试。 在 灾难恢复规划过程中,可能还需要在另一个区域中创建辅助命名空间。
下面是概要步骤:
- 将当前区域中的服务总线命名空间导出到 Azure 资源管理器模板。
- 更新模板中资源的位置。 此外,请从模板中删除默认订阅筛选器,因为无法创建默认规则,因为它会自动创建。
- 使用模板将服务总线命名空间部署到目标区域。
- 确保在目标区域中已创建命名空间、队列、主题及其订阅,然后验证部署。
- 通过处理所有消息后从源区域删除命名空间来完成移动。
先决条件
确保目标区域中支持帐户使用的 Azure 服务总线和功能。
Prepare
若要开始,请导出资源管理器模板。 此模板包含描述服务总线命名空间的设置。
登录到 Azure 门户。
选择 “所有资源 ”,然后选择服务总线命名空间。
在“服务总线命名空间”页上,在左侧菜单中的“自动化”下选择“导出模板”。
在“导出模板”页中选择“下载”。
找到从门户下载的 .zip 文件,并将该文件解压缩到所选的文件夹。 此 zip 文件包含模板和参数 JSON 文件。
在提取的文件夹中打开 template.json 文件。
在
location
中搜索,并将属性的值替换为区域或位置的新名称。 若要获取位置代码,请参阅 Azure 位置。 区域的代码是不带空格的区域名称,例如China East
等同于chinaeast
。删除类型为
Microsoft.ServiceBus/namespaces/topics/subscriptions/rules
的资源定义。 不要忘记删除本节前面的逗号(,
)字符,使 JSON 保持有效。注释
无法使用资源管理器模板为订阅创建默认规则。 在目标区域中创建订阅时,会自动创建默认规则。
Move
部署模板以在目标区域中创建服务总线命名空间。
在 Azure 门户中,选择“创建资源”。
在“搜索市场”中,键入“模板部署”作为搜索文本,选择“模板部署(使用自定义模板进行部署)”,然后按 ENTER。
在“模板部署”页面上,选择“创建”。
在 “自定义部署 ”页上,选择 “在编辑器中生成自己的模板”。
在“编辑模板”页的工具栏上选择“加载文件”,然后按照说明加载你在上一部分下载的 template.json 文件。
选择“保存”以保存该模板。
在“自定义部署”页上执行以下步骤:
选择 Azure 订阅。
选择现有的资源组或创建一个资源组。
选择目标位置或区域。 如果选择了现有资源组,则此设置为只读。
输入新的命名空间名称。
选择“查看 + 创建”。
在“查看 + 创建”页上,选择页面底部的“创建”。
Verify
在部署成功后,选择“转到资源组”。
在 “资源组 ”页上,选择服务总线命名空间。
在 “服务总线命名空间 ”页上,验证是否看到源区域中的队列、主题和订阅。
在右窗格底部的命名空间中看到 队列 。
切换到 “主题 ”选项卡以查看命名空间中的主题
选择主题以验证是否已创建订阅。
丢弃或清理
部署后,如果要重新开始,可以删除 目标服务总线命名空间,并重复本文的 “准备 和 移动 ”部分中介绍的步骤。
若要提交更改并完成服务总线命名空间的移动,请删除 源服务总线命名空间。 在删除命名空间之前,请确保处理所有消息。
若要使用 Azure 门户删除服务总线命名空间(源或目标):
在 Azure 门户顶部的搜索窗口中,键入 服务总线,然后从搜索结果中选择 服务总线 。 列表中会显示服务总线命名空间。
选择要删除的目标命名空间,然后从工具栏中选择“ 删除 ”。
在 “删除资源 ”页上,验证所选资源,并通过键入 “是”确认删除,然后选择“ 删除”。
其他选项是删除具有服务总线命名空间的资源组。 在 “资源组 ”页上,选择工具栏上的 “删除资源组 ”,然后确认删除。
后续步骤
本教程将 Azure 服务总线命名空间从一个区域移到另一个区域,并清理了源资源。 若要详细了解如何在区域之间移动资源,以及如何在 Azure 中进行灾难恢复,请参阅: