【发布时间】:2017-02-12 11:08:19
【问题描述】:
情况:
在我们的 Azure blob 存储中拥有价值 TB 的文件和在我们的 Azure 数据库中拥有千兆字节存储的用户决定离开我们的服务。此时,我们需要将他的所有数据导出到 2GB 的包中,并在短时间内(两周左右)将它们存放在 blob 存储中。
这种情况应该很少发生,我们正在努力削减成本。在一两天内下载相应用户的 blob(240 KB 文件)并将它们压缩到包中的任务在哪里实现最佳?
我查看了一个单独的 webapp 运行一个专用的连续 webjob,但是 webjobs 似乎在应用程序卸载时关闭,我需要它来休眠并且在未启动和运行时不使用资源,所以“始终开启”是出去。另外,我似乎找不到完整的接口实现教程,所以我可能会取消正在运行的任务等。
我们最后的手段是放弃 web 应用程序(其中三个)并在虚拟机上运行它,但这会带来更高的成本。有没有我错过的方法可以完成工作?
【问题讨论】:
-
Azure Web 应用仍然是 Web 应用。它们不适合长时间运行的工作。你应该看看 Azure Web Jobs 或 Azure Functions。功能还有一个额外的好处,就是它们只按实际使用量收费,您不需要购买特定尺寸
-
实际上,您可以轻松实现一个例程来创建 Web 应用程序、创建 Web 作业并启动它,然后删除 Web 应用程序,但您可能希望为此使用 azure 函数...
-
Azure Functions 看起来确实不错。您将如何处理具有 1.5GB 内存限制的函数的大文件?
标签: azure c#-4.0 asp.net-web-api2 azure-web-app-service azure-blob-storage