繁体   English   中英

部署后Az​​ure功能无法正常工作

[英]Azure Function not working after deploy

我正在使用Azure函数进行一点POC。 我已经从VS模板中创建了一个简单的HttpTrigger函数,并且如果我在localhost调试时一切正常,但是如果我在Azure中进行部署,则在尝试启动该函数时会出错:

发生了错误。 有关更多信息,请检查日志中的错误ID 24d8e48f-d925-45ad-82cf-f767decc5f6f

如果我签入Insights,则错误为:

错误索引方法'Saluda.Run'无法绑定参数'log'来键入TraceWriter。 确保绑定支持参数类型。 如果您正在使用绑定扩展(例如ServiceBus,Timer等),请确保已在启动代码中调用了扩展的注册方法(例如config.UseServiceBus(),config.UseTimers()等)。 )。

调用堆栈:

Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexingException:at Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer + d__19.MoveNext(Microsoft.Azure.WebJobs.Host,Version = 2.3.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35 )在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(mscorlib,Version = 4.0.0.0,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089)(System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess ,位于Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer + d__15.MoveNext的PublicKeyToken = b77a5c561934e089)(Microsoft.Azure.WebJobs.Host,Version = 2.3.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35)内部异常System.InvalidOperationException已处理在Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer + d__19.MoveNext:在Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer + d__20.MoveNext(Microsoft.Azure.WebJobs.Host,Version = 2.3.0.0,Culture =中性,PublicKeyToken = 31bf System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089)at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNot = 4.0(mscorlib,中性,Microsoft.Azure.WebJobs.Host.Indexers.FunctionIndexer + d__19.MoveNext(PublicKeyToken = b77a5c561934e089)(Microsoft.Azure.WebJobs.Host,Version = 2.3.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35)

我正在使用Microsoft.NET.Sdk.Functions 1.0.14(最后一个),AzureWebJobsDashboard和AzureWebJobsStorage在功能应用程序设置中进行配置。 如果我直接在门户网站中创建一个函数,那么它将起作用。

任何想法?

非常感谢。

功能码

组态

见解错误

您已经在本地创建了v2函数,但是在“应用程序”设置中,我们可以看到FUNCTIONS_EXTENSION_VERSION (即“功能”应用程序设置中的运行时版本)为〜1,用于v1函数。

部署它时,您可能会看到此提示

在此处输入图片说明

您可能选择了“ No所以例外。

v1函数以.Net框架为目标,v2函数以.Net标准为目标,它们分别具有Runtime〜1和beta。 彼此不兼容,因此一个运行时仅支持一种功能。 这就是为什么您得到错误。

解决方案:

  1. 如果这些现有的v1功能有用,则需要创建一个新的功能应用程序。 将v2功能部署到新功能应用程序,并随意选择“ Yes将运行时更改为beta,因为默认情况下约为1。 您还可以在创建任何函数之前转到“函数”应用程序设置将运行时更改为beta。

  2. 如果依赖于〜1运行时的函数无用,请转到“应用程序设置”,将FUNCTIONS_EXTENSION_VERSION更改为beta,然后删除不再使用的v1函数。 这样,您无需删除所有功能即可从Function应用程序设置中更改运行时并再次部署。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM