由于这篇文章已经有了很好的答案,我想在这里分享我的经验。 我尝试通过将cron表达式添加到 appsettings.json
文件中来在本地运行应用程序,但是当我运行函数应用程序时,我总是收到以下错误:
'EmployeeTimerTrigger'函数出错: Microsoft.Azure.WebJobs.Host:索引方法时出错'EmployeeTimerTrigger'. Microsoft.Azure.WebJobs.Host:'%EmployeeTimerTrigger%'无法解析为值。
所以为了解决这个问题,我们需要将cron表达式从 appsettings.json
移动到 local.settings.json
,然后它可以正常工作,我能够在本地测试它。
编辑:添加部署说明
函数应用程序从Azure函数应用程序自身的应用程序设置中读取定时器触发器设置。
当您计划在Azure中部署函数应用程序时,您需要对Azure门户中的函数应用程序的应用程序设置进行一些小修改。
您可以通过选择Azure门户中的函数应用程序 ->配置 ->应用程序设置来导航到这些设置。
您需要添加的第一个设置是您希望计时器触发器在其中运行的时区,这是相同示例:
注意:请注意这些值区分大小写
![Key = WEBSITE_TIME_ZONE](https://istack.dev59.com/ixwWS.webp)
现在我们将在此处添加的第二个设置是用于我们的计时器触发功能,这张图片中您将看到计时器将在东部标准时间早上10:00 AM和下午2:00运行。
为什么使用东部标准时间? 好吧,记得我们的第一个设置是网站时区,因此两个设置相互配合工作。
注意:计时器触发器的名称应该与您的函数应用程序中一致,请注意这些值区分大小写,并且应该与您的计时器触发器函数中的完全匹配。
![enter image description here](https://istack.dev59.com/8GRtu.webp)
完成这些设置后,请不要忘记保存更改,现在您已准备好部署函数应用程序了。
我希望这个答案有助于部署和在本地运行计时器函数。