Azure Web Job записывает файлы в каталог веб-сайта

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

Environment.CurrentDirectory Запуск на script возвращает путь в каталоге Temp: Temp\jobs\triggered\WEBJOBNAME\q0uwrohv.x5e

Я попытался спуститься в дерево каталогов:

string path = Path.Combine(Environment.CurrentDirectory, @"..\..\..\..\..\Data")

Но это не работает:

C:\DWASFiles\Sites\WEBSITENAME\Temp\jobs\triggered\WEBJOBNAME\q0uwrohv.x5e\..\..\..\..\..\Data

Как создавать и сохранять файлы из WebJob на определенный путь?

Я не хочу использовать хранилище blob.

Ответ 1

Путь к корню вашего веб-сайта Azure (обычно) d:\home\site\wwwroot. d:\home также сохраняется в настройке среды под названием %HOME%.

Чтобы узнать больше о разных путях, которые вы можете использовать на своем сайте, перейдите по ссылке: https://{sitename}.scm.azurewebsites.net, вы увидите консоль отладки, где вы можете просмотреть свой сайт и Среда, чтобы увидеть все переменные среды, которые вы можете использовать.

Ваш WebJob будет иметь доступ к тем же путям/окружениям, что и ваш веб-сайт.

Для получения дополнительной информации об этом сайте администрирования перейдите по ссылке: http://azure.microsoft.com/blog/2014/03/28/windows-azure-websites-online-tools-you-should-know-about-2/

Ответ 2

попробуйте следующее вместо того, чтобы указывать расположение файла в параметре value, просто укажите это, как я покажу вам здесь

Вы можете сделать это в файле app.config

add key="app:TempFolderPath" value="~/temp/"/
add key="app:TempReportDirectory" value="~/temp/"/

веб-работа будет автоматически помещена в это местоположение

D:\local\Temp\jobs\continuous\ImporterWebJob\yex3ad1c.3wo\~\temp\...your file...

Я надеюсь, что это не даст вам никаких ошибок.