如何在Azure Cosmos DB中克隆/复制数据库

时间:2018-03-07 15:09:02

标签: mongodb azure-cosmosdb

如何将Azure Cosmos DB中的数据库克隆到运行在localhost:27001上的mongod

我已尝试过以下操作,但我无法使用它:

db.cloneDatabase("mycosmosdb:mypassword@username.documents.azure.com:10255/MyDatabase?ssl=true&replicaSet=globaldb")

从运行mongod的本地计算机运行命令时返回以下内容:

{
    "clonedColls" : [ ],
    "ok" : 0,
    "errmsg" : "connect failed to replica set mycosmosdb:mypassword@username.documents.azure.com:10255/Mydatabase?ssl=true&replicaSet=globaldb:27017",
    "code" : 6,
    "codeName" : "HostUnreachable"
}

尝试此变体也会失败:

db.copyDatabase("NameOfAzureDB", "NameOfLocalDB", "username.documents.azure.com:10255", "username", "password")

{
    "ok" : 0,
    "errmsg" : "couldn't connect to server username.documents.azure.com:27017, connection attempt failed"
}

2 个答案:

答案 0 :(得分:0)

在Cosmos DB上不支持cloneDatabase,因为它包含的克隆命令不够灵活,不允许SSL连接和副本集的名称。它只接受主机名和端口号,没有别的,所以不支持问题中使用的连接字符串(并且没有“mycosmosdb”这样的名字)。

答案 1 :(得分:0)

使用新的Cosmic Clone工具,您可以

  1. 要在任何环境下克隆集合
  2. 使用相似的设置(索引,分区,TTL等)创建集合
  3. 匿名化数据 通过清理或改组文档中的敏感数据。

同时阅读my blog