乐于分享
好东西不私藏

【Azure Function App】部署完 Azure Function 发现 Function 在门户消失了

【Azure Function App】部署完 Azure Function 发现 Function 在门户消失了

问题描述

从VS Code部署新的Python Function App到Azure中,部署结果显示是成功的。

但是登录到门户上,却没有发现任何Function

这是什么原因导致的呢?

问题解答

进入高级开发工具(kudu页面),查看logfile中日志,可以发现Function无法加载的原因是  Error: No Module named ‘azure.monitor’, Cannot find module. Please check the requirements.txt file for the missiong module. 

当看见如此明显的错误后,解决它当然是在 requirements.txt 文件中添加上azure.monitor包。

进入Function的文件编辑页面,提示文件只读,无法修改。

当Function App设置了环境变量 WEBSITE_RUN_FROM_PACKAGE = 1 ,该模式 要求所有依赖必须包含在 zip 包中,否则平台不会根据requirements.txt中的内容进行二次安装,所以造成函数加载失败。

最终解决这个问题的步骤是:

1:修改WEBSITE_RUN_FROM_PACKAGE 为0,或者删除该环境变量

2:在 requirements.txt 文件中添加上azure.monitor包

3:重新部署后,再无报错且Function加载成功

参考资料

直接从 ZIP 包运行 Azure 应用服务中的应用:https://docs.azure.cn/zh-cn/app-service/deploy-run-package

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【Azure Function App】部署完 Azure Function 发现 Function 在门户消失了

评论 抢沙发

4 + 7 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮