我在数据库表中有一个Azure函数(node.js)和准确时间列表(7:30、8:05等)。我想使用数据库表在准确的时间触发Azure功能。
现在我的问题是
答案 0 :(得分:1)
您还可以为此使用耐用功能:https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-timers#usage-for-delay
您可以在那里从数据库动态加载时间,并为下一次执行创建新的计时器。一旦运行,创建下一个计时器。
基本上,您将得到一个永恒的协调器(可以):https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-eternal-orchestrations#periodic-work-example
答案 1 :(得分:0)
计时器触发器仅执行单个cron时间表吗? 是的,计时器触发器只能有一个cron表达式
关于动态cron表达式,您可以参考此Configuration,ScheduleExpression
会降低应用设置中的设置。您可以使用"schedule": "%TriggerSchedule%"
进行设置。并在应用设置中定义TriggerSchedule。然后动态修改您的应用设置。
另一种方法是使用Kudu API修改function.json。
PUT https://{functionAppName}.scm.azurewebsites.net/api/vfs/{pathToFunction.json}, Headers: If-Match: "*", Body: new function.json content
然后同步功能触发器。
POST https://{functionAppName}.scm.azurewebsites.net/api/functions/synctriggers
其他功能(HTTP触发)能否运行我的原始功能 (已触发计时器),并且还更改了环境变量?
您可以在Timer函数中调用HTTP触发函数,但是Azure Functions运行时配置文件不可写。但是在运行App Service时,您可以通过PowerShell,REST api或CLI以编程方式管理这些设置。
请记住,对这些设置的更改将触发网站重启