Azure Ошибка развертывания функции: `Неверный формат SCM_RUN_FROM_PACKAGE при загрузке встроенного содержимого. ' - PullRequest
0 голосов
/ 26 мая 2020

Попытка развернуть функцию python -runtime (v3.6.9) Azure, используя VS Code Azure Расширение функций .

Я отлично создал функцию, затем ...

  1. Щелкнул Upload из расширения
  2. Create new function app in Azure (advanced)
  3. Введен глобально уникальное имя функции
  4. Выбрано Python 3.6 в качестве среды выполнения
  5. Выбрано Consumption План хостинга
  6. Выбрана существующая группа ресурсов (созданная только для этого проекта)
  7. Выбрана существующая учетная запись хранения (созданная только для этого проекта)
  8. Выбрана Skip for now для App Insights
  9. В окне вывода отображается «создание нового приложения-функции»

... но ошибки процесса:

11:36:47 PM azblobtoawss3: Creating zip package...
11:36:47 PM azblobtoawss3: Starting deployment...
11:36:49 PM azblobtoawss3: Updating submodules.
11:36:49 PM azblobtoawss3: Preparing deployment for commit id '3a4998bc20'.
11:36:49 PM azblobtoawss3: Repository path is /tmp/zipdeploy/extracted
11:36:49 PM azblobtoawss3: Running oryx build...
11:36:49 PM azblobtoawss3: Command: oryx build /tmp/zipdeploy/extracted -o /home/site/wwwroot --platform python --platform-version 3.6 -p packagedir=.python_packages/lib/python3.6/site-packages
11:36:50 PM azblobtoawss3: Build orchestrated by Microsoft Oryx, https://github.com/Microsoft/Oryx
11:36:51 PM azblobtoawss3: You can report issues at https://github.com/Microsoft/Oryx/issues
11:36:51 PM azblobtoawss3: Oryx Version      : 0.2.20200114.13, Commit: 204922f30f8e8d41f5241b8c218425ef89106d1d, ReleaseTagName: 20200114.13
11:36:51 PM azblobtoawss3: Build Operation ID: |MIqvQZRaiqA=.6dffab29_
11:36:51 PM azblobtoawss3: Repository Commit : 3a4998bc205144f9998de05338412208
11:36:51 PM azblobtoawss3: Warning: An outdated version of python was detected (3.6.9). Consider updating.\nVersions supported by Oryx: https://github.com/microsoft/Oryx
11:36:51 PM azblobtoawss3: Source directory     : /tmp/zipdeploy/extracted
11:36:51 PM azblobtoawss3: Destination directory: /home/site/wwwroot
11:36:51 PM azblobtoawss3: Python Version: /opt/python/3.6.9/bin/python3
11:36:51 PM azblobtoawss3: Running pip install...
11:36:51 PM azblobtoawss3: [06:36:51+0000] Collecting azure-functions
11:36:51 PM azblobtoawss3: [06:36:51+0000]   Using cached https://files.pythonhosted.org/packages/5b/6d/67a219c38be7e4eae7c001a9bf83ab059dcf497644ccc6c5f696ea4155fa/azure_functions-1.2.1-py3-none-any.whl
11:36:51 PM azblobtoawss3: [06:36:51+0000] Installing collected packages: azure-functions
11:36:51 PM azblobtoawss3: [06:36:51+0000] Successfully installed azure-functions-1.2.1
11:36:51 PM azblobtoawss3: WARNING: You are using pip version 19.3.1; however, version 20.1.1 is available.
11:36:51 PM azblobtoawss3: You should consider upgrading via the 'pip install --upgrade pip' command.
11:36:51 PM azblobtoawss3: [06:36:51+0000] Cleaning up...
11:36:51 PM azblobtoawss3: Done in 1 sec(s).
11:36:51 PM azblobtoawss3: Done running pip install.
11:36:51 PM azblobtoawss3: Copying files to destination directory '/home/site/wwwroot'...
11:36:51 PM azblobtoawss3: Done in 0 sec(s).
11:36:51 PM azblobtoawss3: Removing existing manifest file
11:36:51 PM azblobtoawss3: Creating a manifest file...
11:36:51 PM azblobtoawss3: Manifest file created.
11:36:51 PM azblobtoawss3: Done in 1 sec(s).
11:36:53 PM azblobtoawss3: Running post deployment command(s)...
11:36:53 PM azblobtoawss3: Triggering recycle (preview mode disabled).
11:36:53 PM azblobtoawss3: Creating placeholder blob for linux consumption function app...
11:36:53 PM azblobtoawss3: **Malformed SCM_RUN_FROM_PACKAGE when uploading built content**.
11:37:04 PM azblobtoawss3: **Deployment failed**.

Я тоже пробовал ...

  • Щелкните правой кнопкой мыши проект функции
  • Deploy to Azure

... тот же результат.

EDIT1: Также попытался выполнить удаленную сборку из cli в соответствии с рекомендациями @ hury-shen :

(.venv) user@system:~/Documents/azureBlobToS3$ func azure functionapp publish azureblobtoawss3 --build remote

Getting site publishing info...
Remote build is a new feature added to function apps.
Your function app azureblobtoawss3 does not support remote build as it was created before August 1st, 2019.
Please use '--build local' or '--build-native-deps'.
For more information, please visit https://aka.ms/remotebuild

Затем я приступил к обновлению приложения, используя az functionapp update -g <RESOURCE_GROUP_NAME> -n <APP_NAME>. Тот же результат.

Я также добавил настройки приложения, перечисленные здесь , чтобы включить удаленную сборку на Linux. Тот же результат.

Затем я попытался запустить func azure functionapp publish <APP_NAME> --build local и получил сообщение об ошибке:

There was an error restoring dependencies.   Could not find a version that satisfies the requirement pkg-resources (from -r /home/user/Documents/azureBlobToS3/requirements.txt (line 19)) (from versions: )
No matching distribution found for pkg-resources (from -r /home/user/Documents/azureBlobToS3/requirements.txt (line 19))
ERROR: ['/home/user/Documents/azureBlobToS3/.venv/bin/python3', '-m', 'pip', 'download', '-r', '/home/user/Documents/azureBlobToS3/requirements.txt', '--dest', '/tmp/azureworkerjv2xkb_k'] failed with exit code 1

Тем не менее pip показывает, что зависимость pkg-resources выполняется!

(.venv) user@system:~/Documents/azureBlobToS3$ pip install pkg-resources

Requirement already satisfied: pkg-resources in ./.venv/lib/python3.6/site-packages

EDIT2: удалено pkg-resources из requirements.txt просто для проверки

Я застрял в al oop здесь. Невозможно построить удаленно, невозможно построить локально.

There was an error restoring dependencies. ERROR: cannot install cryptography-2.9.2 dependency: binary dependencies without wheels are not supported when building locally. Use the "--build remote" option to build dependencies on the Azure Functions build server, or "--build-native-deps" option to automatically build and configure the dependencies using a Docker container. More information at https://aka.ms/func-python-publish

Кто-нибудь еще видел эту ошибку? Как устранить неполадки?

1 Ответ

1 голос
/ 26 мая 2020

При развертывании функции python с помощью расширения часто возникают проблемы, поэтому я предлагаю вам использовать команду для развертывания функции python с локального на azure. Выполните следующие действия:

1. Go на портал azure и создайте приложение-функцию (python).

2 . Нажмите кнопку «Терминал» в коде VS, чтобы открыть окно «ТЕРМИНАЛ», и выполните приведенную ниже команду для создания файла «requirements.txt», который включает все модули, установленные в вашей функции.

pip freeze > requirements.txt

enter image description here

3. Разверните функцию с локального на azure, выполнив команду ниже:

func azure functionapp publish <functionAppName> --build remote

enter image description here <functionAppName> - это имя приложения-функции, которое вы только что создали. После выполнения этой команды код функции будет развернут с локального компьютера на azure, а azure установит модули по содержимому файла "requirements.txt", который мы создали выше.

Надеюсь, это поможет ~

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...