将Cosmos DB模拟器(MongoDB API)迁移到Azure时发生致命错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将Cosmos DB模拟器(MongoDB API)迁移到Azure时发生致命错误相关的知识,希望对你有一定的参考价值。

我在将Cosmos DB仿真器中托管的localhost Cosmos DB数据库迁移到Azure上的在线Cosmos DB实例时遇到很多问题。我已经使用Microsoft的数据迁移工具将当前数据库(转换为JSON文件)上传到存储帐户,并使用数据迁移服务将数据从该存储帐户中提取到Cosmos DB数据库,根据[ C0]。

在迁移开始时,出现以下致命错误:

无法从BsonType'Array'反序列化'BsonDocument'

我不知道如何进行。是否有人有进行此类转换的经验,并且知道如何克服此错误?

答案

关于将来其他人遇到相同问题时:我应用了以下内容来使之起作用:

  • 下载Mongodump here
  • 使用mongodump转储Cosmos DB仿真数据库
  • 将生成的.bson和元数据文件复制到Azure存储帐户(Blob存储)
  • 使用Azure存储资源管理器为此帐户获取SAS URL
  • 创建新的Azure数据库迁移服务(MongoDB => Cosmos DB(MongoDB API))
  • 将Azure存储设置为源,然后输入SAS URL
  • 将您的Cosmos DB数据库设置为目标

使用mongodump,数据被生成为Cosmos DB可以理解的文件结构。

以上是关于将Cosmos DB模拟器(MongoDB API)迁移到Azure时发生致命错误的主要内容,如果未能解决你的问题,请参考以下文章

Azure Cosmos DB 中托管的 MongoDB:分片与分区

azure cosmos db 在 mongodb.com 中创建了集合

azure cosmos db 在 mongodb.com 中创建了集合

微软通过Cosmos DB向MongoDB和Cassandra发起挑战

如何使用 Cassandra API 将 Python 的 cosmos_client 连接到 Cosmos DB 实例?

将托管标识与 Cosmos Db Table Api 一起使用