我正在尝试使用 c# 和 mongo 1.9.1 驱动程序将 mongo 集合中的所有文档移动到计划的 azure webjob 中的 azure blob 存储。
我不想将所有 100000 个文档保存在 webjob 的内存中。有没有更好的方法,比如从 mongo 批量检索文档?或者我可以研究一种完全不同的方法吗?
最佳答案
您可以有一个 Web 作业进程负责单独对每个文档进行排队。此 Web 作业只需要每个文档的唯一标识符,以便它可以将其作为消息推送到 Azure 存储队列。您可以根据需要将此 Web 作业配置为计划作业或手 Action 业。
然后再进行另一个迁移单个文件的 Web 作业。您可以将此 Web 作业设置为连续的,以便只要队列中有消息要读取,它就会开始处理它们。默认情况下,Web 作业将从队列中并行处理 16 个项目。这是可配置的。
关于mongodb - 将集合中的所有文档从 mongodb 移动到 azure blob 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33273992/