将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 实例?