嘿,我已经使用Azure开发操作CI/CD部署了新的Azure功能。功能应用程序已成功部署,当我转到主URL时,它显示您的功能应用程序正在运行。我尝试使用Azure门户测试端点(“/保存”),输出为404未找到。当我使用POST man时也出现相同的结果。如有帮助,将不胜感激?
2020-11-21T11:30:45.769 [Error] The following 2 functions are in error:
Get: The function type name 'DocumentContextFunction.Functions.GetDocument'
is invalid.
Save: The function type name
'DocumentContextFunction.Functions.SaveDocument' is invalid.
5条答案
按热度按时间3htmauhk1#
我已通过将“FUNCTIONS_EXTENSION_VERSION”的值从1更新为3修复了此问题。由于某种原因,每次我使用Azure CI/CD部署时,其值都设置为1,因此我必须手动将其更改为3。
eqqqjvef2#
当我的构建目标是win-x64而Azure Function Platform配置为32位时,我遇到了此错误。
nzkunb0c3#
在我的例子中,我在portal中创建了一个函数。然后我通过visual studio发布了一个函数。发布后,portal创建的函数是404,找不到,我甚至不能从portal中删除该函数。
新函数中完全相同的代码按预期工作。
这并不直观,门户中也没有迹象表明以前创建的门户功能会中断。
这可能隐藏在文档的某个地方,但我希望在允许其他函数在不更改代码的情况下中断之前,Azure中会有一个警告。
bq8i3lrv4#
作者的问题帮助我理解了问题的来源,在我的案例中,这不是关于CI/CD管道做了什么有趣的事情。
是我的IAC代码没有正确设置函数应用程序。它默认选择版本X1 M0 N1 X,但我必须将其设置为X1 M1 N1 X。
sg3maiej5#
我的函数应用程序一直在工作,直到我在更高版本的Microsoft.Extensions.Logging中包含了一个新的自定义包。我的函数使用的是Microsoft.Extensions.Logging 2.1.1。该包的版本为7.0.0,适用于Net7。它与我的Net6项目不兼容。
添加程序包后,我的项目中的Microsoft.Extensions.Logging版本更新为7.0.0。没有编译错误,但调试显示无法加载程序集。这导致了404。
将软件包版本改回2.1.1后,问题得到了解决。