У меня есть этот 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