Работнику не удалось выполнить идентификатор функции и ошибку утверждения, функции Azure Python

#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 и вижу там результаты. Это работает, но отнимает немного времени. Спасибо вам за ваш ответ. Не могли бы вы, пожалуйста, оценить мои вопросы, чтобы я получил здесь некоторую репутацию?