You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function无法读取Azure中Appsettings的CRON调度,仅本地运行正常

解决Azure Function云端无法读取Appsettings中CRON调度的问题

问题原因

出现%Schedule_GetData% does not resolve to a value错误,本质是云端环境找不到你在TimerTrigger中引用的配置项,大概率是配置键名不匹配或者云端应用设置未正确同步导致的。

具体解决步骤

1. 确认触发器的配置引用语法

先检查你的TimerTrigger代码,确保配置引用格式正确:

[FunctionName("GetData")]
public static void Run([TimerTrigger("%Schedule_GetData%")]TimerInfo myTimer, ILogger log)
{
    // 函数业务逻辑
}

这里的%Schedule_GetData%是配置键的名称,必须和你后续配置的键完全一致,包括大小写、下划线这些细节。

2. 同步本地与云端的应用设置

  • 本地开发时,local.settings.json里的配置应该是这样:
    {
      "Values": {
        "Schedule_GetData": "0 0 * * * *" // 替换成你的CRON表达式
      }
    }
    
  • 部署到云端后,必须在Azure Portal的Function App -> Configuration -> Application settings中手动添加键Schedule_GetData,并填入对应的CRON值。注意:本地的appsettings.json不会自动同步到云端,必须手动配置或者通过部署脚本同步。

3. 重启Function App

配置更新完成后,一定要重启你的Function App,确保新配置加载生效,否则可能还是读取旧的配置或者未识别新配置。

4. 检查时区配置(可选)

如果你的CRON表达式需要使用本地时区而非UTC,要额外添加WEBSITE_TIME_ZONE应用设置(比如值设为China Standard Time),同时修改触发器:

[TimerTrigger("%Schedule_GetData%", TimeZone = "%WEBSITE_TIME_ZONE%")]

关键提醒

始终保持代码和配置分离,不要把CRON表达式硬写在触发器属性里,这样后续调整调度时间不需要重新部署代码,直接修改云端配置即可。

内容的提问来源于stack exchange,提问作者Yonas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:25:34