从Azure DocumentDB导出数据

16

Azure中是否有选项可以从DocumentDB中导出现有集合?

我只能看到一个导入选项。


不确定是否相同,但我们已经能够通过使用此答案的导出工具将数据库导出为json:https://dev59.com/questions/Cr3pa4cB1Zd3GeqPdmge#64054375 - chelder
4个回答

19

数据库服务本身没有内置的导出选项。然而,DocumentDB数据迁移工具由DocumentDB团队发布,提供导入和导出功能(导出为JSON)。所有内容均在Azure网站的DocumentDB区域中有详细记录,特别是此处

这不是您唯一的选择,您还可以根据现有的语言SDK之一或直接使用REST API调用编写自己的导出应用程序。

可能还有其他可用的工具,但涉及到“哪个是最好的工具”讨论是不相关的。我只是指出数据迁移工具,因为DocumentDB团队提供了它,并提供官方文档。


2
除了David的建议外,您还可以使用Azure Data Factory数据移动活动将数据从DocumentDB移动到多个目的地,包括Blob存储甚至另一个DocumentDB帐户。有关更多信息,请查看https://azure.microsoft.com/en-us/documentation/articles/data-factory-data-movement-activities/。 - Ryan CrawCour
当我的解决方案直接指向官方微软工具时,“不可能”怎么成为被接受的解决方案了呢? - Jurion
迁移工具是否允许将数据从 Cosmos DB 导出到 CSV 格式? - Ankit Mahajan

16

令人惊讶的是,截至2017年中期,Azure CosmosDB(以前称为DocumentDB)似乎仍然没有简单的“下载数据库”和“上传数据库”类型的功能。以下是一种选择:

注意:以下方法似乎不支持导出附件。如果您需要这样的功能,则可能无法使用此方法。

本地导出到JSON文件

使用Azure DocumentDB数据迁移工具导出和导入DocumentDB集合。

源信息页面中:

  1. 选择DocumentDB作为源
  2. 在连接字符串中,提供来自Azure门户的连接字符串。
  • 格式为:AccountEndpoint=http://blah.documentdb.com/;AccountKey=blahblah;Database=dbname要导出,请选择“JSON文件”作为目标,将您的documentDB作为源
  1. 确保连接字符串中存在有效的数据库,如果不存在,请添加它。
  • 单击验证以确保您的连接正常工作。
  1. 在集合字段中输入有效的集合名称。

sourceinformationpage


在**目标信息**页面:
  1. 导出为JSON
  2. 选择本地文件并输入有效路径。
  3. (可选)勾选美化JSON

targetinformationpage

测试日期:2017年6月16日,针对Azure CosmosDB实例进行测试


6

1
这是无稽之谈。我提出了解决问题的方案,却被踩了。而被接受的解决方案甚至没有回答问题... - Jurion
有趣,自你上次评论以来这个更新了吗?在迁移文档数据库集合时仍然存在任何限制吗?谢谢。 - Horia Toma
1
@HoriaToma 已更新。现在工具好多了。但是:我需要将约1GB的数据迁移到新的CosmosDB集合中。预编译的工具无法正常工作(在第一个数据输入处崩溃),但获取源代码,在调试模式下启动就可以正常工作。 - Jurion
@HoriaToma 更新了新链接的回复。 - Jurion
2022 年,这对我来说完美地运作了。如果您从 Azure 门户中提取 conn 字符串,请不要忘记附加 'Database=XXXXXX'。 - IdusOrtus

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接