В моей функции Azure я указал переменную среды / параметр приложения для строки подключения к базе данных. Я могу использовать переменную среды, когда я запускаю функцию локально на моей Azure Data Science Virtual Machine с использованием кода VS и Python.
Однако при развертывании функции в Azure я получаю сообщение об ошибке: KeyValue имеет значение None, что означает, что он не может найти переменную среды для строки подключения. См. Ошибку:
Exception while executing function: Functions.matchmodel Result: Failure
Exception: KeyError: 'CONNECTIONSTRINGS:PDMPDBCONNECTIONSTRING'
Stack: File "/azure-functions
host/workers/python/3.7/LINUX/X64/azure_functions_worker/dispatcher.py", line 315, in
_handle__invocation_request self.__run_sync_func, invocation_id, fi.func, args)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/azure-functions-host/workers/python/3.7/LINUX/X64/azure_functions_worker/dispatcher.py",
line 434, in __run_sync_func
return func(**params)
File "/home/site/wwwroot/matchmodel/__init__.py", line 116, in main
File "/home/site/wwwroot/matchmodel/production/dataload.py", line 28, in query_dev_database
setting = os.environ["CONNECTIONSTRINGS:PDMPDBCONNECTIONSTRING"]
File "/usr/local/lib/python3.7/os.py", line 679, in __getitem__
raise KeyError(key) from None'
Я пробовал следующие решения:
Добавил «CONNECTIONSTRINGS», чтобы указать переменную среды в сценарии Python (что сделало ее работать локально) setting = os.environ["CONNECTIONSTRINGS:PDMPDBCONNECTIONSTRING"]
Используется logging.info(os.environ)
для вывода моих переменных среды в консоль. Моя строка подключения указана в списке.
Добавлена строка подключения в качестве настройки приложения на портале функций Azure.
- Добавлена строка подключения в качестве строки подключения на функциональном портале Azure.
У кого-нибудь есть другие решения, которые я могу попробовать?