带有错误触发功能的全新javascript FunctionApp崩溃,错误500:
说明:由于未处理的异常,进程已终止。 异常信息:Microsoft.WindowsAzure.Storage.StorageException:指定的资源名称包含无效字符。 在Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal [T](RESTCommand`1 cmd,IRetryPolicy策略,OperationContext operationContext,CancellationToken令牌) 在C:\ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.Extensions.Storage \ Queues \ Listeners \中的Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueListener.ExecuteAsync(CancellationToken cancelleToken) QueueListener.cs:第155行 在Microsoft.Azure.WebJobs.Host.Timers.TaskSeriesTimer.RunAsync(CancellationToken cancelleToken)在C:\ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.Host \ Timers \ TaskSeriesTimer.cs:line 147 在Microsoft.Azure.WebJobs.Host.Timers.WebJobsExceptionHandler。<> c__DisplayClass3_0。
b__0()在C:\ projects \ azure-webjobs-sdk-rqm4t \ src \ Microsoft.Azure.WebJobs.Host \ Timers \ WebJobsExceptionHandler .cs:第54行 在System.Threading.Thread.ThreadMain_ThreadStart() 在System.Threading.ThreadHelper.ThreadStart_Context(对象状态) 在System.Threading.ExecutionContext.RunInternal(ExecutionContext executeContext,ContextCallback回调,对象状态) ---从之前引发异常的位置开始的堆栈结束跟踪--- 在System.Threading.ExecutionContext.RunInternal(ExecutionContext executeContext,ContextCallback回调,对象状态) 在System.Threading.ThreadHelper.ThreadStart()
步骤:我使用以下命令创建了一个新的FunctionApp:
接下来,我导航到FunctionApp并创建了一个新函数:
接下来,我在存储器上创建了容器“ samples-workitems”,并在其中放置了一个文件以触发功能,并从功能日志中获取错误消息。
我还尝试使用值samples-workitems / {我复制的文件}从门户网站右侧面板“测试”该功能,但出现500错误和上一条消息。
回到Web门户中的功能应用程序,我注意到了奇怪的事情:
Azure存储扩展似乎已正确安装,但是如果我尝试添加新的Blob触发功能,它会再次询问我是否安装存储扩展...因此,我想它永远无法成功安装扩展并且无法执行。>
编辑:原来,Azure现在已确认已安装扩展,但我仍然有StorageException
答案 0 :(得分:0)
您可以从Kudu检查扩展是否已成功安装。打开DebugConsole->转到D:\ home \ site \ wwwroot \ bin。 Microsoft.Azure.WebJobs.Extensions.Storage.dll。如果存储dll不存在,则扩展安装不会成功。
答案 1 :(得分:0)
您可以选择重新安装所需的扩展。您可以参考以下维基百科:Update your app from portal。
编辑extensions.csproj
文件,在PackageReference
中对ItemGroup
项目进行必要的添加和更新,然后选择“保存”。有关受支持的软件包版本的信息,请参见What NuGet packages do i need?。
然后在wwwroot
文件夹中运行以下命令来构建引用的程序集。
dotnet build extensions.csproj -o bin --no-incremental --packages D:\home\.nuget