1

只是在寻找一些关于通过计划的 Web 作业处理数据导入的最佳方法的建议。我有 8 个 json 文件,每 5 小时通过 FTP 客户端使用 JSON 序列化程序导入内存,然后使用 EF6 处理这些 JSON 对象并将其插入 Azure SQL。每个文件都在一个循环中按顺序处理,因为我想确保所有数据都正确插入,就像我尝试使用 Parallel ForEach 时一样,一些数据没有被插入到相关表中。因此,如果 WebJob 失败,我知道有一个错误,我们可以再次运行,问题是现在需要很长时间才能完成,因为我们有很多数据,大约需要 2 小时 - 每个文件有 500 个位置,每个位置有 11 个天和 24 小时数据。

任何人都对如何更快地执行此操作有任何想法,同时确保始终正确插入数据或处理任何错误。正在考虑使用存储队列,但我们将来可能需要指向其他数据库,或者我可以为每个文件使用 1 个 Web 作业,因此每 5 小时为每个文件安排 8 个 Web 作业,因为我认为数量是有限制的我每天可以运行的网络作业。

或者是否有另一种将数据导入 Azure SQL 的替代方法,可以安排。

4

1 回答 1

2

Azure Web Jobs(通过 Web Jobs SDK)可以监控和处理 BLOB。无需创建计划作业。SDK 可以监视新的 BLOB 并在创建它们时对其进行处理。您可以将处理分解为较小的文件并在创建它们时加载它们。

Azure 流分析具有类似的功能。

于 2016-03-28T16:36:07.253 回答