Azure Functions - 仅在云中的“应用程序设置”中使用连接字符串进行队列触发

时间:2018-06-08 05:49:07

标签: azure azure-functions

我在Visual Studio中有一个Azure函数:

    [FunctionName("MyQueueProcessor")]
    [StorageAccount("StorageConnectionString")]
    public static async Task ProcessQueueMessage([QueueTrigger("my-queue")] string message, TextWriter log)
    {
        logInfo("Start processing message", LogLevel.TRACE, message, log);
    }

我在云中的应用程序设置中设置了StorageConnectionString,当我将该功能从Visual Studio上传到Azure应用程序时,该功能最初运行时没有问题。

问题是功能应用程序经常重启,有时重启时,该功能无法运行。从查看Application Insights,我收到以下错误:

  

以下2个函数出错:ProcessQueueMessage:   Microsoft.Azure.WebJobs.Host:错误索引方法   ' MyQueueTrigger.ProcessQueueMessage&#39 ;. Microsoft.Azure.WebJobs.Host:   Microsoft Azure WebJobs SDK' StorageConnectionString'连接   字符串缺失或为空。 Microsoft Azure存储帐户   连接字符串可以通过以下方式设置:1。设置   连接字符串名为' StorageConnectionString'在里面   .config文件的connectionStrings部分采用以下格式   ,或2.设置名为的环境变量   ' StorageConnectionString',或3.设置相应的属性   JobHostConfiguration。运行:Microsoft.Azure.WebJobs.Host:错误   索引方法' MyTimerTrigger.Run'。 Microsoft.Azure.WebJobs.Host:   Microsoft Azure WebJobs SDK' StorageConnectionString'连接   字符串缺失或为空。 Microsoft Azure存储帐户   连接字符串可以通过以下方式设置:1。设置   连接字符串名为' StorageConnectionString'在里面   .config文件的connectionStrings部分采用以下格式   ,或2.设置名为的环境变量   ' StorageConnectionString',或3.设置相应的属性   JobHostConfiguration。

有时,当功能应用程序重新启动时,对StorageConnectionString的绑定将失败。我怎样才能防止这个问题出现?

1 个答案:

答案 0 :(得分:0)

我将代码转换为使用门户中的函数编辑器。我不接受这个答案,因为我希望有人有更好的解决方案。