У меня есть этот local.settings.json в моей локальной функции Azure (триггер таймера)
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "python",
.
.
.
},
"ConnectionStrings": {
"sql_server": "valid connection string"
}
}
Мне удалось получить доступ к строке подключения локально, используя:
conn = os.environ["ConnectionStrings:sql_server"]
и мой код работает нормально.
Но при развертывании я получаю «Исключение сбоя: KeyError: 'sql_server' [...] getitem поднять KeyError (ключ) из None».
Я попытался выполнить на портале, изменив эту строку на:
conn = os.environ["sql_server"]
Но ничего не изменилось.
Кто-нибудь знает, как я могу вызвать этот метод в Azure Web?
Нет, когда я пытаюсь получить доступ к переменным среды, установленным в «Настройках приложения» (а не в «Строках подключения»), я получаю их с помощью os.environ["variable"]
Добавьте строку подключения таким способом, а также обратитесь к Learn.microsoft.com/en-us/azure/app-service/… doc.





ConnectionStrings в локальном файле настроек, необходимо добавить в раздел строки подключения приложения-функции. Я добавил тестовое значение типа SQLServer, как показано ниже.
- SQL-сервер:
SQLCONNSTR_- MySQL:
MYSQLCONNSTR_- SQLAzure:
SQLAZURECONNSTR_- Пользовательский:
CUSTOMCONNSTR_- PostgreSQL:
POSTGRESQLCONNSTR_- Центр уведомлений:
NOTIFICATIONHUBCONNSTR_- Служебный автобус:
SERVICEBUSCONNSTR_- Центр событий:
EVENTHUBCONNSTR_- База данных документа:
DOCDBCONNSTR_- Кэш Redis:
REDISCACHECONNSTR_
SQLCONNSTR_ вместе с именем строки подключения.os.environ['SQLCONNSTR_test_sql_server_connectionString'] в коде, и могу получить ожидаемое значение.
Работает, большое спасибо!!
Получаете ли вы аналогичную ошибку при попытке получить доступ к другим полям? Например, IsEncrypted