От новичка до гуру: Курсы программирования на CyberDuff

Путь FileTrigger для веб-задания Azure 'D: \ home \ data \' не существует

Я создал веб-задание для чтения файлов из файлов Azure при их создании. Когда я запускаю его локально, он работает, но не работает, когда я публикую веб-задание.

Моя функция Main ():

static void Main()
    {
        string connection = "DefaultEndpointsProtocol=https;AccountName=MYACCOUNTNAME;AccountKey=MYACCOUNTKEY";

        JobHostConfiguration config = new JobHostConfiguration(connection);

        var filesConfig = new FilesConfiguration();
        if (config.IsDevelopment)
        {
            config.UseDevelopmentSettings();
            filesConfig.RootPath = @"c:\temp\files";
        }

        config.UseFiles(filesConfig);

        var host = new JobHost(config);
        // The following code ensures that the WebJob will be running continuously
        host.RunAndBlock();
    }

При создании файла запускается следующая функция:

public void TriggerTest([FileTrigger(@"clients\{name}", "*.txt", WatcherChangeTypes.Created)] Stream file, string name, TextWriter log)
{
    log.WriteLine(name + " received!"); 
    // ...
}

И ошибка, которую я получаю при публикации веб-задания:

[08/17/2016 00:15:31 > 4df213: ERR ] Unhandled Exception: System.InvalidOperationException: Path 'D:\home\data\clients' does not exist.

Идея состоит в том, чтобы заставить WebJob запускаться при создании новых файлов в папке «client» файлов Azure.

Кто-нибудь может мне помочь?


  • Какой должен быть путь к папке с клиентами? 17.08.2016
  • Папка клиентов находится на корневом уровне моего хранилища Azure. 17.08.2016

Ответы:


1

В соответствии с вашим требованием я протестировал его на своей стороне, а затем воспроизвел вашу проблему.

Необработанное исключение: System.InvalidOperationException: путь 'D: \ home \ data \ clients' не существует

При публикации веб-задания для FilesConfiguration.RootPath будет задан каталог «D: \ HOME \ DATA» при запуске в веб-приложении Azure. Вы можете сослаться на исходный код: https://github.com/Azure/azure-webjobs-sdk-extensions/blob/master/src/WebJobs.Extensions/Extensions/Files/Config/FilesConfiguration.cs

Как упоминалось в следующем руководстве, FilesConfiguration.RootPath должен быть установлен в допустимый каталог. https://azure.microsoft.com/en-us/blog/extensible-triggers-and-binders-with-azure-webjobs-sdk-1-1-0-alpha1 Убедитесь, что указанный каталог существует в веб-приложении, которое размещено в вашем веб-задании.

Запускается при создании новых файлов в папке «клиенты» файлов Azure через WebJob.

Насколько мне известно, для службы хранилища Azure есть два триггера:

  • QueueTrigger - когда сообщение очереди Azure ставится в очередь.
  • BlobTrigger - при загрузке большого двоичного объекта Azure.

Новый SDK WebJobs предоставляет триггер File, который может запускать функции на основе событий File. Однако триггер файла может отслеживать добавления / изменения файлов в определенном каталоге, но, похоже, нет триггера для добавления / изменений файлов в хранилище файлов Azure.

17.08.2016

2

В среде Azure «Веб-задания» хранятся в своей локальной папке, известной как «D: \ home», а «D: \ local» - это локальная папка. используется веб-хуками. Мне нужно было использовать папку для временного использования для загрузки файла с SFTP-сервера и снова прочитать файл из этого локального временного файла местоположения и использовать его в моем приложении.

Я использовал «D: \ local \ Temp» в качестве временной папки, которая создается кодом после проверки существования папки, затем после создания папки код загрузит файл с сервера и сохранит в это место, а затем прочтите из того же места и удалите файл из этой временной папки.

19.08.2016
Новые материалы

5 простых концепций Python, ставших сложными
#заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

«Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

Отслеживание состояния с течением времени с дифференцированием снимков
Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

Игра в прятки с данными
Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..

«Раскрытие математических рассуждений с помощью Microsoft MathPrompter и моделей больших языков»
TL;DR: MathPrompter от Microsoft показывает, как использовать математические рассуждения с большими языковыми моделями; 4-этапный процесс для улучшения доверия и рассуждений в математических..