最佳答案
这个错误可能很难调试,因为它似乎是由多个根本原因引起的。就我而言,我怀疑根本原因是 pip 包安装失败。但这很难验证,因为我无法深入到 pip 日志。部署日志不包含有关pip安装的信息,并且部分日志不可用,因为主机运行时已关闭。
我遵循了这些最佳实践,最终使 Python 函数部署成功:
- 使用远程构建(应用设置:
SCM_DO_BUILD_DURING_DEPLOYMENT: 1
) - 确保
AzureWebJobsStorage
应用程序设置配置为指向正确的函数存储 - 不要在部署中包含本地
.venv/
目录(将其添加到.funcignore
) - 确保依赖可以无冲突地安装到本地虚拟环境
- 测试函数在本地无错运行
在 requirements.txt
中,我有以下几行。请注意,无需指定 azure-functions
版本,因为它由平台决定。它仅用于本地 linting 等。
pip==21.2.*
azure-functions
附带说明,无需指定“从包构建”(应用程序设置:WEBSITE_RUN_FROM_PACKAGE: 1
);这似乎是默认启用的。
我的部署配置:
- 操作系统:Ubuntu 21.04
- 函数 Python 版本:3.9
- 函数运行时扩展版本:4
- 使用 VS Code Azure 扩展部署
关于python - 无法访问 python 的 Azure 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65797872/