【发布时间】:2017-06-12 19:13:04
【问题描述】:
我有一个 webapp,在 webapp 中,我在 temp 目录中上传了一些文本文件。接下来,我还有一个 webjob 来处理这些文件,但问题是我无法从该 webapp 的临时目录访问这些文件。
有什么办法可以做到吗?
提前致谢。
【问题讨论】:
标签: azure azure-web-app-service azure-blob-storage azure-webjobs
我有一个 webapp,在 webapp 中,我在 temp 目录中上传了一些文本文件。接下来,我还有一个 webjob 来处理这些文件,但问题是我无法从该 webapp 的临时目录访问这些文件。
有什么办法可以做到吗?
提前致谢。
【问题讨论】:
标签: azure azure-web-app-service azure-blob-storage azure-webjobs
实现此目的的标准方法是将文本文件放在 blob 存储中,然后通过 webjob 读取它。因为在 Azure 中,您不能真正保证临时文件夹会在 Web 应用程序和 Web 作业之间共享。
【讨论】:
主站点和 WebJobs 不共享相同的 %TMP% 目录,这就是它不起作用的原因。一种选择是在d:\home 下的某处创建这些文件,例如在 d:\home\data\tmp` 中。然后你就可以从两者中访问它了。
请记住,如果您向外扩展,所有实例将共享同一个文件夹,因此您可能需要在实例 ID 之后命名文件夹。
【讨论】:
我会补充 Tiklu 的回答。您可以使用 Azure Functions 轻松解决您的问题,它是 Azure WebJobs SDK 的演变。您只需将文本文件上传到 blob 并使用带有 BlobStorageTrigger 的 Azure Functions 来读取文件的内容。
这是一个示例:
https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob
【讨论】: