当前位置: 首页 > 知识库问答 >
问题:

使用DMT工具将Cosmos Db sql api从一个容器迁移到另一个容器

井唯
2023-03-14

我正在尝试将我的文档从我的数据库的一个容器复制到同一数据库中的另一个容器。我遵循这个文档https://docs.microsoft.com/en-us/azure/cosmos-db/cosmosdb-migrationchoices

并尝试使用DMT工具。在验证源和目标的连接字符串并单击导入后,我得到的错误为

Errors“:[”无法使用此 SDK 版本访问集合,因为它是使用较新的 SDK 版本创建的。

我只是从UI创建了目标集合。我尝试了两种方式(插入分区键并将其保持空白)。我做错了什么?

共有3个答案

卢志业
2023-03-14

我做错了什么?

你没有做错任何事。只是该工具使用的Cosmos DB SDK非常旧(Microsoft.Azure.DocumentDB版本2.4.1),其目标是旧版本的Cosmos DB REST API。由于您使用较新版本的Cosmos DB REST API创建了容器,因此会出现以下错误。

如果您的容器非常基本(从某种意义上说,它不使用任何特殊的东西,例如自动缩放等),您可以从数据迁移工具UI本身创建容器。这样您就不会遇到兼容性问题。

周辉
2023-03-14

您应该使用该工具的更新版本。

我遇到了这个问题,并从GitHub存储库下载了1.8.3版本:

https://github.com/Azure/azure-documentdb-datamigrationtool/releases/tag/1.8.3

这个版本解决了这个问题。

汝臻
2023-03-14

解决了问题。正是由于这个设置在我的源数据库中启用了:

我的分区键大于 100 个字节。

我这次创建了一个POC,一个没有启用此设置的源数据库,它通过DMT工具工作。

 类似资料:
  • 我有两张docker的照片。其中一个docker映像(来自第一个容器)在运行时会生成一些文件,这些文件需要由另一个容器使用。 我可以这样做吗?

  • 我想在一个docker容器中运行Rabbitmq服务器,并使用芹菜从另一个容器连接到它(http://celeryproject.org/) 我已使用以下命令运行rabbitmq。。。 然后通过 当我试图做非常基本的教程来验证http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html 我得

  • 我正在尝试以下操作: 在一个带有暴露端口的容器中旋转MySQL 5.5,例如4200。 在一个带有暴露端口的容器中旋转MySQL 5.7,例如4300。 旋转golang容器以运行我的应用程序。 我的想法是我需要我的测试在不同的数据库版本上运行。 为此,我需要能够与golang容器中的每个sql容器进行对话。 我试过的: 方法1-使用--link: GO LANG应用程序容器 方法2-使用--ne

  • 问题内容: 我基于两个不同的图像创建了两个docker容器。一个数据库,另一个用于网络服务器。这两个容器都在我的Mac OS X上运行。 我可以从主机访问数据库容器,也可以从主机访问Web服务器。 但是,如何从Web服务器访问数据库连接? 我启动数据库容器的方式是 我开始了wls容器作为 我可以通过连接到主机上的数据库 我可以以以下方式访问主机上的wls: 问题答案: 最简单的方法是使用–link

  • 我基于两个不同的映像创建了两个docker容器。一个是db,另一个是WebServer。这两个容器都在我的mac OSX上运行。 我可以从主机访问db容器,也可以从主机访问webserver。 我可以访问主机上的wls作为

  • 问题内容: 我和一个拥有我所有资产的工具都来自grunt或其他一些工具。 现在在docker compose文件中,我想将的文件夹路径装入到其中,以便nginx可以提供该文件。 我们该怎么做?我不记得了,但我认为有一种选择可以使我们将一个容器的路径与另一个容器共享。 假设如果我将nginx扩展到2个容器,那么该安装将适用于所有nginx实例吗? 如果我扩大规模,那会发生什么? 我也想将其安装在主机