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

Azure Function Timer Trigger部署后未触发问题求助

Azure Timer Trigger部署后未触发的排查与解决

核心排查步骤

  • 确认函数启用状态:登录Azure门户,找到目标函数应用,进入你的Timer函数,右上角查看状态是否为「已启用」。如果是禁用状态,点击启用即可。
  • 核对计划表达式与时区:
    • 你代码里的* * * * *是每分钟触发的Cron表达式,格式本身没问题,但Azure Functions默认使用UTC时区。如果需要按本地时区触发,在函数应用「配置」->「应用程序设置」中添加WEBSITE_TIME_ZONE变量,值设为对应时区(比如China Standard Time)。
    • 检查Azure门户内函数的触发器配置,确认schedule值和代码里的一致,避免部署时配置未同步。
  • 匹配本地与Azure运行环境:
    • 查看函数应用「配置」->「常规设置」里的Node.js版本,确保和本地开发环境完全一致(比如本地用Node 18,Azure别设为16)。
    • 确认package.json里的@azure/functions等依赖版本,部署时要保证Azure安装的依赖和本地一致,避免兼容性问题。
  • 检查日志配置:
    • 确认函数已关联Application Insights:在「监控」->「Application Insights」里绑定资源,或在「配置」中设置APPINSIGHTS_INSTRUMENTATIONKEY。
    • 通过Kudu控制台查看日志:进入函数应用「高级工具」->「Go」,导航到D:\home\LogFiles\Application\Functions\Function\RefreshAccessTokenTimer,查看是否有生成日志文件,哪怕是错误日志也能定位问题。
  • 验证环境变量:在函数应用「配置」->「环境变量」里,检查TENANT_ID、CLIENT_ID、CLIENT_SECRET、REFRESH_TOKEN是否都正确配置,无遗漏或拼写错误。

代码潜在问题提醒

你代码里直接更新process.env.REFRESH_TOKEN和process.env.ACCESS_TOKEN的方式不可靠:

  • process.env是进程级变量,函数重启(如缩放、部署、休眠唤醒)后更新的值会丢失。
  • 多实例部署时,每个实例的process.env独立,无法同步令牌状态。
    正确做法是将刷新后的令牌存储到Azure Key Vault或App Configuration中,下次获取时从这些服务读取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:08:10