我有一个预编译Azure函数的.NET Standard 2.0类库。当我使用CLI在本地运行它们时,一切运行正常。存储绑定通过属性完成。
通过CLI发布到Azure后,我在尝试运行HTTP触发函数时只收到这个神秘错误:
{
"id": "4de8aa2a-73cf-4978-8aef-492310858379",
"requestId": "03f813ea-0390-4262-a44d-f6646cb96e68",
"statusCode": 500,
"errorCode": 0,
"message": "'[Function Name]' can't be invoked from Azure WebJobs SDK. Is it missing Azure WebJobs SDK attributes?"
}
我怎样才能弄清楚这是什么要求?我不知道它是否是我的代码中的东西或我需要在功能应用程序中配置的东西。
答案 0 :(得分:2)
将功能应用运行时版本选项更改为beta
(运行时版本:2.0.11415.0)似乎可以让我的功能应用正常运行
答案 1 :(得分:1)
今天,当我尝试从Angular客户端调用我的协商函数时遇到了同样的错误。当我查看轨迹时,出现了以下另一个错误。
错误索引方法'NegotiateFunction.Run'[12/31/2018 9:33:41 AM] Microsoft.Azure.WebJobs.Host:错误索引方法 'NegotiateFunction.Run'。 Microsoft.Azure.WebJobs.Host:无法绑定 参数“ info”以键入AzureSignalRConnectionInfo。确保 绑定支持参数类型。如果您使用绑定 扩展程序(例如Azure存储,ServiceBus,计时器等),请确保 您已在您的扩展中调用了注册方法 启动代码(例如builder.AddAzureStorage(),builder.AddServiceBus(), builder.AddTimers()等)。
我了解问题出在我的旧软件包上,并更新了以下软件包。
之后,我能够构建我的Azure函数,并且对Negotiate函数的调用成功。
答案 2 :(得分:0)
检查您的班级是否公开。
如果您的课程不是公开的,您将收到此错误。但是,由于您的代码在本地运行,因此可能不是问题。