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...
Я надеюсь, что это не даст вам никаких ошибок.