如何将Cosmos DB生产环境数据复制到开发环境?
更简便的Azure Cosmos DB容器复制方案
针对你需要定期将生产环境Cosmos容器复制到开发环境、且保持规格的需求,以下是几个比官方迁移工具更高效的实现方式:
1. 使用容器克隆功能
这是Azure Cosmos DB原生提供的高效复制方式,后台直接基于存储层复制数据,速度远快于普通迁移工具,且能直接继承原容器的吞吐量、索引策略等规格配置。
- Azure门户操作:进入生产Cosmos账户的目标容器,点击「克隆容器」,选择开发环境的Cosmos账户、目标数据库,确认配置后启动克隆即可。
- Azure CLI命令示例:
az cosmosdb sql container clone --account-name <生产账户名> --resource-group <生产资源组> --database-name <数据库名> --name <源容器名> --target-account-name <开发账户名> --target-resource-group <开发资源组> --target-database-name <目标数据库名> --target-name <目标容器名>
2. 基于备份快照恢复
如果你的生产Cosmos账户启用了周期性备份(默认配置),可以直接将指定容器的备份恢复到开发环境的Cosmos账户中,操作简单且速度快:
- 在Azure门户进入开发环境的Cosmos账户,选择「数据恢复」,指定生产账户的备份来源、目标容器信息,确认后即可完成恢复,恢复后的容器会自动匹配原容器的规格。
3. 自动化定期执行
如果需要按需定期执行复制,可将上述克隆/恢复步骤封装成脚本,通过以下方式自动化:
- 使用Azure Automation创建运行手册,定时触发脚本执行;
- 用GitHub Actions/Azure DevOps Pipelines配置触发规则(比如手动触发或定时触发),执行容器克隆/恢复的CLI命令。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

