You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法向/从Cosmos DB容器导入导出大数据量问题求助

Cosmos DB迁移工具导出/导入数据不全的修复方案

导出不全的问题修复

1. 修正分区键配置

如果目标容器的实际分区键不是/id,请删除配置中的PartitionKeyPath参数;若分区键确实是/id,则保留该参数。错误的分区键配置会导致工具仅扫描对应分区的数据,无法导出全量记录。

2. 启用跨分区查询并取消分页限制

在SourceSettings中添加以下参数,确保工具能遍历所有分区并获取全量数据:

  • EnableCrossPartitionQuery": true:允许跨分区查询所有数据
  • MaxItemCount": -1:取消单页返回数据量的限制

修改后的导出配置示例:

{
  "Source": "cosmos-nosql",
  "SourceSettings": {   
    "ConnectionString" :"AccountEndpoint=<URL>;AccountKey=<AccountKey>",
    "Database": "DH-PRES-DB",
    "Container":"Event",
    // 若分区键不是/id则删除此行,否则保留
    // "PartitionKeyPath": "/id",
    "QueryText": "Select * from c",
    "EnableCrossPartitionQuery": true,
    "MaxItemCount": -1
  },
  "Sink": "json",
  "SinkSettings": {    
    "FilePath" : "C:\\Users\\us25\\Downloads\\dmtFile\\Event_test.json"
  }
}

导入不全的问题修复

1. 配置批量导入参数

在SinkSettings中添加以下参数,提升写入效率并避免因速率限制导致的数据丢失:

  • EnableBulkImport": true:启用批量导入模式
  • BatchSize": 1000:根据容器RU/s调整批量大小(RU值较高可适当增大)
  • MaxConcurrentConnections": 10:控制并发写入数,避免触发429限流错误

2. 匹配分区键

确保导入配置中的PartitionKeyPath与目标容器的实际分区键完全一致,否则会导致数据写入失败或被丢弃。

修改后的导入配置示例(假设源为JSON文件):

{
  "Source": "json",
  "SourceSettings": {   
    "FilePath" : "C:\\Users\\us25\\Downloads\\dmtFile\\Event_test.json"
  },
  "Sink": "cosmos-nosql",
  "SinkSettings": {    
    "ConnectionString" :"AccountEndpoint=<URL>;AccountKey=<AccountKey>",
    "Database": "DH-PRES-DB",
    "Container":"Event",
    "PartitionKeyPath": "/your-actual-partition-key",
    "EnableBulkImport": true,
    "BatchSize": 1000,
    "MaxConcurrentConnections": 10
  }
}

额外注意事项

  • 调整容器吞吐量:若导入时频繁出现429限流错误,可临时提升容器的RU/s,或降低BatchSize和MaxConcurrentConnections参数。
  • 校验数据量:导出后检查JSON文件的记录数,导入后对比源容器与目标容器的记录总数,确认数据完整。
  • 日志排查:若问题仍存在,查看迁移工具生成的日志文件,定位具体错误(如超时、权限不足、数据格式异常等)。

内容的提问来源于stack exchange,提问作者Md Tauhid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 18:10:19