Как я могу отслеживать каталоги с помощью 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 запускается, он находит все функции в нем, а затем запускает хост-работу.

Другие вопросы по тегам