如果cron字符串存储在appsetting的根目录。Json文件,读取它们没有问题。但是,如果我在appsetting.json中这样做:
"EETHistoryJobSettings": {
"SomeSetting": {
"Name": "A"
},
"Schedule": "*/15 * * * * *"
}
并希望定时器从EETHistoryJobSettings json对象中读取,它不工作(基本上找不到EETHistoryJobSetting.Schedule)。
public async Task Run([TimerTrigger("%EETHistoryJobSetting.Schedule%", RunOnStartup = true)] TimerInfo timerInfo, ILogger logger,
只是想知道是否有一种方法可以在子对象中指定Cron时间或必须在根节点上?
AFAIK, Azure函数定时器触发MS文档给出了CRON表达式变量应该包装在%中符号。
案例1:
如果您的appsettings.json
包含local.settings.json
形式的代码设置:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "<Storage_Conn_String>",
"CronExpression":"*/15 * * * * *"
}
}
则功能码为:
public async Task Run([TimerTrigger("%CronExpression%", RunOnStartup = true)] TimerInfo timerInfo, ILogger logger
案例2:
appsettings.json:
{
"ScheudleInfo":{
"TimerTrigger1":{
"CronExpression":"*/15 * * * * *"
}
}
}
则功能码为:
public async Task Run([TimerTrigger("%ScheudleInfo:TimerTrigger1:CronExpression%", RunOnStartup = true)] TimerInfo timerInfo, ILogger logger
注意:使用Azure函数类时,存储帐户连接字符串、环境变量应在local.settings.json
中定义。