Azure CosmosDB - 将 collection 中的所有文档下载到本地目录

Azure CosmosDB - Download all documents in collection to local directory

我正在尝试将我的 cosmosDB collection 中的所有文档下载到本地目录。我想使用 python 修改所有 JSON 文档中的一些内容,然后将它们上传到另一个 Azure 帐户。下载我 collection 中所有文档的最简单、最快的方法是什么?我应该使用 CosmosDB 模拟器吗?有人告诉我检查 Azure 的数据工厂?这对本地下载文件有帮助吗?我还提到了 CosmosDB 的数据迁移工具,我看到它有助于将数据导入 CosmosDB,但我找不到太多关于导出的信息。我的 collection.

中有大约 6GB 的 Json 文件

谢谢。

过去我使用过 DocumentDb (CosmosDb) 数据迁移工具 which is available for download from Microsoft

当运行您需要指定来源和目标的应用程序时,如下面的屏幕截图

确保选择从 DocumentDb 导入并指定要从中导出的连接字符串和集合。如果你想转储你的集合的全部内容,查询就是

SELECT * FROM c

然后在目标信息下,您可以选择一个 JSON 文件,该文件将保存到您的本地硬盘。您可以以任何方式自由修改该文件的内容,然后在您准备好将其导入回另一个集合时将其用作源信息。

我使用了迁移工具,发现如果您有一个合理大小的数据库,那就太好了,因为它确实会在相当长的一段时间内使用处理和带宽。我不得不分块一个 10GB 的数据库,这花了太长时间,所以最终使用 Data Lake Analytics 通过脚本传输到 SQL 服务器和 Blob 存储。它为您提供了很大的灵活性来转换数据并将其存储在其他分布式系统的数据湖中。如果需要,如果您使用 cosmos 进行暂存并且需要通过任何清理算法 运行 数据,它也会有所帮助。

其他优点是您可以设置批处理并获得大量处理统计信息以确定如何优化大数据转换。希望这可以帮助。干杯。