Как я могу отслеживать каталоги с помощью 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?
1 ответ
На самом деле я собираюсь попытаться добавить отдельные функции для просмотра каждого каталога, поэтому мне нужно знать, как использовать "data\%app setting value%{name}" в качестве пути триггера.
Кажется, что вы не могли использовать data\%app setting value%\{name}
в качестве пути запуска.
Потому что когда вы запускаете webjobs, он получает путь к файлу, как c:\temp\files\clients\%foldername%
, он покажет путь не существует. Сообщение об ошибке, как показано ниже:
Итак, я предлагаю вам добавить отдельные функции в одни и те же веб-задания для просмотра каждого каталога, например:
public void TriggerTest([FileTrigger(@"data\dirone\{name}", "*", WatcherChangeTypes.Created)] Stream file, string name, TextWriter log)
Когда Webjobs запускается, он находит все функции в нем, а затем запускает хост-работу.