Azure Функции Environment.GetEnvironmentVariable возвращает ноль - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть приложение Azure Functions, которое я тестирую локально, но, похоже, оно не отвечает на мои настройки local.settings. json. Мне пришлось вручную создать файл, так как я клонировал это решение из своего репозитория github (local.settings. json по умолчанию игнорируется). Мне интересно, в этом ли проблема, и есть ли какой-то способ, которым я не связываю это с проектом?

Project Settings

local.settings.json

Calling code

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

убедитесь, что ваши local.settings. json находятся в том же месте, что и хост. json в проекте root и сделайте перестройку своего проекта после добавления, также я получу свою функциональную среду azure переменные вроде так:

Environment.GetEnvironmentVariable("Issuer", EnvironmentVariableTarget.Process);
0 голосов
/ 11 февраля 2020

Обновление:

Так как это не ключ. попробуйте добавить json файл в env под рукой. Добавьте класс запуска к вашей функции приложения.

public class Startup : IWebJobsStartup
{
    public void Configure(IWebJobsBuilder builder)
    {
        var config = new ConfigurationBuilder()
            .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
            .AddEnvironmentVariables()
            .Build();
    }
}

Оригинальный ответ:

Я предполагаю, что этот local.settings. json был создан самостоятельно, поэтому этот файл не был помещен в папку отладки после компиляции. Поэтому эти значения не вводятся в переменные среды.

Исходя из этого, я могу дать решение, скопировать файл local.settings. json непосредственно в следующую папку и тогда проблема должна быть решена.

enter image description here

(здесь должен быть файл local.settings. json, в противном случае переменные среды не может быть введен.)

Надеюсь, мой вывод верен, и надеюсь, что этот ответ поможет. :)

...