我有一个Azure函数,它同时具有Timer Trigger
和Service Bus Trigger
函数。在该AF的Portal Azure配置中,我有正确的存储帐户连接字符串AzureWebJobsStorage
。两种资源的ARM都没有变化,直到几天前一切都正常。现在只有Service Bus Trigger
函数在工作,但没有Timer Trigger
函数在工作。
将字符串连接到存储器是100%正确的,我甚至重新生成了访问密钥。
我找到了启动主机的日志:
2021-05-25T15:23:10.703 [Error] The listener for function 'XXX' was unable to start.
Microsoft.Azure.WebJobs.Host.Listeners.FunctionListenerException : The listener for function 'XXX' was unable to start. ---> System.InvalidOperationException : Could not create BlobServiceClient to obtain the BlobContainerClient using Connection: Storage
at Microsoft.Azure.WebJobs.Script.AzureStorageProvider.GetBlobContainerClient() at D:a1ssrcWebJobs.ScriptStorageProviderAzureStorageProvider.cs : 69
at Microsoft.Azure.WebJobs.Extensions.Timers.AzureStorageScheduleMonitor.GetStatusBlobReference(String timerName) at D:a1ssrcWebJobs.ScriptTimerAzureStorageScheduleMonitor.cs : 146
at async Microsoft.Azure.WebJobs.Extensions.Timers.AzureStorageScheduleMonitor.GetStatusAsync(String timerName)
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Extensions.Timers.Listeners.TimerListener.StartAsync(CancellationToken cancellationToken) at C:azure-webjobs-sdk-extensionssrcWebJobs.ExtensionsExtensionsTimersListenerTimerListener.cs : 99
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Listeners.SingletonListener.StartAsync(CancellationToken cancellationToken) at C:projectsazure-webjobs-sdk-rqm4tsrcMicrosoft.Azure.WebJobs.HostSingletonSingletonListener.cs : 70
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at async Microsoft.Azure.WebJobs.Host.Listeners.FunctionListener.StartAsync(??) at C:projectsazure-webjobs-sdk-rqm4tsrcMicrosoft.Azure.WebJobs.HostListenersFunctionListener.cs : 68
End of inner exception
我检查了New Support Request -> Solutions
中的诊断,一切正常。此外,当尝试使用与Portal Azure相同的配置从Visual Studio启动AF时,也会出现相同的错误(但描述较少(。
可能出了什么问题?我还能查些什么来找到这个问题的解决方案?
最新的函数主机版本(3.0.15733.0(中可能存在回归。请设置应用程序设置FUNCTION_EXTENSION_VERSION=3.0.15584.0(以前的函数运行时版本(。
回归将在下一个函数主机版本中修复:https://github.com/Azure/azure-functions-host/releases
早些时候,我们已经将FUNCTION_EXTENSION_VERSION从约3更新到3.0.15584.0,看起来3.0.15733.0的问题已经修复,我可以看到最新版本是3.0.15960(https://github.com/Azure/azure-functions-host/releases)
然而,由于早上计时器触发器再次失败,所以我试图将FUNCTION_EXTENSION_VERSION恢复到约3,但没有成功,因为函数抛出了相同的错误。但是,如果我们将FUNCTION_EXTENSION_VERSION设置为3.0.15960.0,则计时器触发器工作正常。