首页 > 解决方案 > 如何使用 Azure FileTrigger 监视目录

问题描述

我有一个 WebJob,它可以与指向特定目录的 FileTrigger 一起正常工作,但我想监视添加到其下所有目录的文件:

data
  |_ dir one (file added here)
  |_ dir two (file added here)

我目前将触发器设置为:

[FileTrigger(@"data\{name}", "*", WatcherChangeTypes.Created, autoDelete: true)] string message,

我只能添加一个触发器(这绝对有意义),以下也不起作用:

@"data\*\{name}"

从单个 WebJob 监视这些目录的最佳方法是什么?

标签: azureazure-webjobsazure-triggers

解决方案


实际上,我将尝试添加单独的函数来查看每个目录,因此我需要知道如何将“data\%app setting value%{name}”作为触发路径。

看来您不能data\%app setting value%\{name}用作触发路径。

因为当你运行 webjobs 时,它会得到类似的文件路径c:\temp\files\clients\%foldername%,它会显示该路径不存在。错误信息如下: 在此处输入图像描述

因此,我建议您可以在同一个 webjobs 中添加单独的函数来查看每个目录,例如:

public void TriggerTest([FileTrigger(@"data\dirone\{name}", "*", WatcherChangeTypes.Created)] Stream file, string name, TextWriter log)

当 Webjobs 运行时,它会找到其中的所有功能,然后启动作业主机。


推荐阅读