通过应用程序设置配置Azure函数计时器
我正在使用Azure函数计时器作业,我需要从appsettings获取cron表达式。请让我知道,我如何从Azure功能中的appsetting中获取价值。我想我的运行从上午9:00开始蔚蓝的功能,下午12:00进行,每30分钟\通过应用程序设置配置Azure函数计时器
{
"disabled": false,
"bindings": [
{
"name": "timerInfo",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 * * * * *"
}
]
}
设置日程为"schedule": "%EmailScheduleTriggerTime%"
,然后在appsetting.json可以设置EmailScheduleTriggerTime值"0 30 9-12 * * *"
{
"IsEncrypted": false,
"Values": {
"EmailScheduleTriggerTime": "0 30 9-12 * * *", //Run every 30 minutes from 9:00 to 12:00
},
"ConnectionStrings": {
"DefaultConnection": ""
}
}
我们可以使用“schedule": "0 */30 9-12 * * *"
,关于Azure的功能定时器触发请参阅蔚蓝official document更多细节。
时间表的值是一个CRON表达式包含这些六个字段:
{第二} {分钟} {小时} {天} {月} {星期几-}
注:
使用cron表达式中使用的默认时区是协调世界时(UTC)。有基于另一个时区的CRON表达式,如果您使用的是VS2017的功能和工具在.NET项目定义你的函数(而不是直接在名为
WEBSITE_TIME_ZONE
你的函数的应用程序创建一个新的应用程序设置在Azure门户网站),你可以从AppSettings
使用%
语法拿起间隔:
[FunctionName("MyTimerFunction")]
public static void Run([TimerTrigger("%TimerInterval%")] TimerInfo myTimer, TraceWriter log, ..
然后在你的应用程序设置指定所需的CRON格式间隔如。在local.settings.json
{
"Values" : {
"TimerInterval" : "0 30 9-12 * * *"
}
}
为什么downvotes?如果有一些反馈,很乐意改进这个答案。 –
你只是答案的一部分使用0 30 9-12 * * *,我已编辑并发送评论。 –
你尝试过什么?它使用cron语法,可能从那里开始(https://crontab-generator.org/) – Mark