部署后,Azure功能应用程序设置为空

Tan*_*any 5 c# deployment appsettings azure azure-functions

这是我的场景:

  • 我有ac#blob trigger azure函数(alwaysON设置为true).
  • 我正在使用New-AzureRmResource ps cmdlet设置功能应用程序的appsettings.
  • 我正在通过调用"https://$functionAppName.scm.azurewebsites.net/api/zip/site/wwwroot"上的PUT Rest调用来部署azure函数来上传一个zip文件(包含run.csx,function.json和bin/*.dll文件).
  • 我使用CloudConfigurationManager.GetSetting(settingKey)来获取*.dll文件中的appsettings.我对这些appsettings进行了IsNullOrWhiteSpace检查以抛出ConfigurationErrorsException.

问题:部署后,始终对azure函数的第一个触发器失败.如果appsetting是IsNullOrWhiteSpace,它会因为我抛出的ConfigurationErrorsException异常而失败.在第一次失败的触发器后大约一分钟后,所有后续触发器开始成功.

是否需要时间让appsettings加载?你们有没有遇到过这样的问题?解决方法/解决方案是什么?

Dav*_*bbo 7

您不应该CloudConfigurationManager在Azure App Service中使用,因为该组件是为云服务(不同的Azure产品)而设计的.您应该避免完全引用该程序集.

相反,只需使用ConfigurationManager.AppSettings["YourSetting"]访问您的应用设置.