#azure-functions
Вопрос:
Проблема: У меня есть небольшой код функций Azure, который должен извлекать секреты из Azure Keyvault. Я использую 2 модуля python (Azure.keyvault и Azure.Идентичность). Раньше это работало, но теперь я получаю ошибку.
Устранение неполадок: Похоже, это происходит из Azure.Причина идентификации, когда я удаляю этот модуль, я не получаю никаких ошибок, и когда я пишу и запускаю этот код по умолчанию (не функции Azure), он также работает. Также я версионно закрепил модуль (вернулся к предыдущей версии 1.5.0 с 1.6.0), но он не работал.
Пожалуйста, помогите мне решить эту проблему. Я опубликую ошибку и свой код ниже:
[Мой код]:
[Ошибка]:
Functions:
TimerTriggerPython: timerTrigger
For detailed output, run func with --verbose flag.
[2021-08-10T12:26:45.529Z] Worker process started and initialized.
[2021-08-10T12:26:46.264Z] Worker failed to function id 0f918900-966c-4b13-a12e-7f29d8b28399.
[2021-08-10T12:26:46.264Z] Result: Failure
Exception: AssertionError:
Stack: File "C:Program FilesMicrosoftAzure Functions Core Toolsworkerspython3.9/WINDOWS/X64azure_functions_workerdispatcher.py", line 302, in _handle__function_load_request
func = loader.load_function(
File "C:Program FilesMicrosoftAzure Functions Core Toolsworkerspython3.9/WINDOWS/X64azure_functions_workerutilswrappers.py", line 40, in call
return func(*args, **kwargs)
File "C:Program FilesMicrosoftAzure Functions Core Toolsworkerspython3.9/WINDOWS/X64azure_functions_workerloader.py", line 83, in load_function
mod = importlib.import_module(fullmodname)
File "C:Python39libimportlib__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-PythonTimerTriggerPython__init__.py", line 7, in <module>
from azure.identity import DefaultAzureCredential
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesazureidentity__init__.py", line 9, in <module>
from ._credentials import (
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesazureidentity_credentials__init__.py", line 5, in <module>
from .authorization_code import AuthorizationCodeCredential
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesazureidentity_credentialsauthorization_code.py", line 8, in <module>
from .._internal.aad_client import AadClient
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesazureidentity_internal__init__.py", line 50, in <module>
from .certificate_credential_base import CertificateCredentialBase
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesazureidentity_internalcertificate_credential_base.py", line 11, in <module>
from .persistent_cache import load_service_principal_cache
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesazureidentity_internalpersistent_cache.py", line 9, in <module>
import msal_extensions
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesmsal_extensions__init__.py", line 12, in <module>
from .cache_lock import CrossPlatLock
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesmsal_extensionscache_lock.py", line 5, in <module>
import portalocker
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesportalocker__init__.py", line 4, in <module>
from . import portalocker
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packagesportalockerportalocker.py", line 10, in <module>
import pywintypes
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packageswin32libpywintypes.py", line 105, in <module>
__import_pywin32_system_module__("pywintypes", globals())
File "C:UsersM65E083VSOCDE_PWD_RotationAzure-Func-Timer-Python.venvlibsite-packageswin32libpywintypes.py", line 99, in __import_pywin32_system_module__
assert sys.modules[modname] is not old_mod
Ответ №1:
У меня была та же проблема. Переход с python 3.9 на 3.7 решил эту проблему. У меня нет объяснения, почему это так, но, надеюсь, это поможет.
Комментарии:
1. Привет, Бен, я просто развертываю код функции на облачном портале Azure и вижу там результаты. Это работает, но отнимает немного времени. Спасибо вам за ваш ответ. Не могли бы вы, пожалуйста, оценить мои вопросы, чтобы я получил здесь некоторую репутацию?