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

CloudFront→API Gateway→Lambda架构下如何让API Gateway调用最新Lambda代码

API Gateway调用旧版本Lambda代码的解决方法
  • 检查API Gateway的Lambda集成配置
    • 若集成ARN后缀带版本号(如:3)或自定义别名,说明API Gateway绑定了固定Lambda版本,更新代码后未发布新版本、未更新别名指向的话会持续调用旧代码。两种解决方式:
      1. 集成时直接使用无版本后缀的Lambda ARN,默认调用最新的$LATEST版本
      2. 每次更新Lambda代码后发布新版本,同步更新API Gateway集成绑定的版本号/别名指向的版本
    • 所有集成配置修改完成后,必须部署API Gateway到对应阶段才会生效,操作路径:API Gateway控制台→选中对应API→顶部「动作」下拉→部署API→选择要生效的阶段(如prod、test)
  • 排查全链路缓存
    • CloudFront缓存验证:如果CloudFront配置了API响应缓存,会直接返回历史缓存内容而非Lambda最新执行结果。测试时可在请求头加Cache-Control: no-cache跳过缓存,确认是缓存问题后可根据业务需求调整缓存规则,或代码变更后主动提交CloudFront缓存失效
    • API Gateway缓存验证:如果对应API阶段开启了缓存,同样会返回旧响应,可临时关闭阶段缓存验证,或配置缓存键规则排除动态接口的缓存
  • 确认实际调用的Lambda版本
    • 可以在Lambda代码中加入标识类日志(如打印代码更新时间、版本号),调用接口后查看Lambda对应的CloudWatch日志,快速确认是Lambda版本未更新,还是上层缓存返回了旧内容,缩小问题范围

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:36:06