Переменная AzureWebJobsScriptRoot не определена в функциях Azure, но локально возвращает правильное значение - PullRequest
0 голосов
/ 11 марта 2019

Переменная AzureWebJobsScriptRoot не определена в функциях Azure.Код ниже не возвращает значения. System.Environment.GetEnvironmentVariables(EnvironmentVariableTarget.Process)["AzureWebJobsScriptRoot"];

Однако %HOME%\site\wwwroot будет возвращено на основе следующих значений:

AzureWebJobsScriptRoot

AzureWebJobsScriptRoot

Путь к корневому каталогу, в котором находятся файлы и папки с файлами host.json.В приложении-функции по умолчанию используется% HOME% \ site \ wwwroot.

Значение образца ключа

AzureWebJobsScriptRoot% HOME% \ site \ wwwroot

Возвращаетсялокально правильное значение, а не% HOME% \ site \ wwwroot

обновление

Это ошибка с функциями Azure?

Если это так, что такоеальтернативное решение?

Прежде чем Microsoft устранит проблему, можно ли определить эту переменную, AzureWebJobsScriptRoot, как "%HOME%\site\wwwroot" в Azure?

https://github.com/Azure/Azure-Functions/issues/1146 https://github.com/MicrosoftDocs/azure-docs/issues/26761

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Если вы сконфигурируете приложение функции с другим значением для AzureWebJobsScriptRoot, то хост функций должен учитывать это новое значение. Например, если вы установите AzureWebJobsScriptRoot = D:\home\site\wwwroot\foo, то узел функций будет искать файл host.json и каталоги функций в папке D: \ home \ site \ wwwroot \ foo.

По умолчанию эта переменная среды не задана. Так что ожидается, что если вы не установили его самостоятельно, то System.Environment.GetEnvironmentVariable("AzureWebJobsScriptRoot") вернет ноль.

Имейте в виду, что если вы измените этот параметр, другие компоненты, такие как портал, Visual Studio, код Visual Studio и т. Д., Не будут знать о настройке и развернут ваш код в обычном местоположении по умолчанию. Если вы хотите настроить этот параметр, вам необходимо убедиться, что код приложения развернут в нужном месте.

Пожалуйста, смотрите полную информацию здесь

0 голосов
/ 11 марта 2019

Я тестирую на своем сайте и получаю ту же проблему с вами. Как сказано в статье , при работе в Azure по умолчанию будет установлено значение %HOME%\site\wwwroot и для папки функций будет установлено значение home\site\wwwroot.

.

Однако, когда я установил AzureWebJobsScriptRoot в функции Azure Application Settings, он будет отображаться в выводе, как показано ниже:

enter image description here enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...