如何使FileTrigger与Webjob中的Azure文件存储一起工作

如何使FileTrigger与Webjob中的Azure文件存储一起工作,azure,azure-webjobs,azure-webjobssdk,azure-webjobs-triggered,Azure,Azure Webjobs,Azure Webjobssdk,Azure Webjobs Triggered,我有一个webjob,我已将其设置为在将文件添加到目录时触发: [FileTrigger(@"<DIR>\<dir>\{name}", "*", WatcherChangeTypes.Created, autoDelete: true)] Stream file, 该路径是用于本地工作的,我希望注释掉fileconfiguration对象并保留其默认值将允许它拾取我设置的连接字符串,并在添加文件时触发。这种情况不会发生。事实证明,默认情况下,根路径设置为“D:\Home

我有一个webjob,我已将其设置为在将文件添加到目录时触发:

[FileTrigger(@"<DIR>\<dir>\{name}", "*", WatcherChangeTypes.Created, autoDelete: true)] Stream file,
该路径是用于本地工作的,我希望注释掉fileconfiguration对象并保留其默认值将允许它拾取我设置的连接字符串,并在添加文件时触发。这种情况不会发生。事实证明,默认情况下,根路径设置为“D:\Home”,并生成InvalidOperationException

System.InvalidOperationException : Path 'D:\home\data\<DIR>\<dir>' does not exist.
System.invalidoOperationException:路径“D:\home\data\\”不存在。
如何使触发器指向为其设置的存储帐户的文件存储区域。我已经尝试从Program.cs中完全删除fileconfiguration,希望它能对设置起作用,但它只会产生相同的异常

System.InvalidOperationException:路径“D:\home\data\\”不存在

当您发布到azure时,路径为
D:\HOME\DATA
,因此当您运行webjob时,它无法找到路径,因此您会收到错误消息

如何使触发器指向为其设置的存储帐户的文件存储区域

您设置的connectionstring有两个应用程序:一个用于仪表板日志记录,另一个用于应用程序功能(队列、表、Blob)

似乎您无法使filetrigger与azure文件存储一起工作。 因此,如果您想在创建新文件时调用filetrigger,可以转到KUDU中的
D:\home\data\
创建
DIR
文件夹,然后在其中创建新的.txt文件

输出如下:

顺便说一句,似乎在创建文件时最好不要使用
autoDelete
,如果使用,会出现如下错误:


NotSupportedException:使用更改类型“Changed”时不支持使用自动删除。

是的,这正是我正在做的,但我希望可以从文件存储中触发它。将密切关注自动删除。我可以在本地计算机上的D:\Data\Home层次结构中挂载一个目录吗?这里的FileTrigger可以挂载,但似乎有。为了更新这个,我最终使用了Blob和BlobTrigger来实现我们需要的功能。很高兴看到您解决了您的问题。正如我所说,您可以使用queue、blob触发器来实现它。
System.InvalidOperationException : Path 'D:\home\data\<DIR>\<dir>' does not exist.