首页
/ Amplify CLI 项目中 Lambda 运行时版本升级问题解析

Amplify CLI 项目中 Lambda 运行时版本升级问题解析

2025-06-28 19:11:51作者:彭桢灵Jeremy

问题背景

在 AWS Amplify 项目中,当用户尝试通过 CI/CD 流水线部署应用时,遇到了 Lambda 函数运行时版本不兼容的问题。具体表现为部署失败,错误信息指出 Node.js 14.x 运行时已不再支持创建或更新 Lambda 函数。

问题分析

该问题源于 AWS 在 2024 年 3 月 6 日后的政策变更,不再允许使用 Node.js 14.x 或更低版本创建或更新 Lambda 函数。虽然用户已将所有 Lambda 函数手动升级至 Node.js 20.x,但在 CI 流水线部署时仍遇到失败。

关键点在于项目中存在一个名为 UserPoolClientLambda 的 Lambda 函数,该函数是 Cognito 用户池的内联函数,存在于 auth CloudFormation 模板中。这个函数在本地推送时能成功更新,但在 CI 流水线中却失败。

解决方案

经过排查,发现问题根源在于 CI 流水线中使用了旧版本的 Amplify CLI (10.5.0)。虽然用户已在本地更新了所有 Lambda 函数的运行时版本,但 CI 环境中的旧版 CLI 仍尝试使用 Node.js 14.x 运行时。

解决步骤如下:

  1. 检查并更新 CI 流水线中的 Amplify CLI 版本
  2. 移除任何固定 CLI 版本的命令
  3. 切换至 Amazon Linux 2023 构建镜像
  4. 确保所有 Lambda 函数运行时已更新至 Node.js 20.x

经验总结

  1. 对于较旧的 Amplify 项目,建议定期检查并更新所有 Lambda 函数的运行时版本
  2. CI/CD 环境中的工具链版本应与本地开发环境保持一致
  3. 对于 auth 相关资源,可通过 amplify update auth 命令检查是否需要迁移
  4. 当遇到类似问题时,应检查项目中的 CloudFormation 模板,特别是 auth 相关部分

最佳实践

  1. 定期检查 AWS 官方文档,了解 Lambda 运行时支持政策变更
  2. 建立统一的开发与部署环境管理机制
  3. 对于关键业务应用,建议设置预发布环境进行版本兼容性测试
  4. 保留项目部署历史记录,便于问题排查

通过以上措施,可以有效避免因 AWS 服务更新导致的部署中断问题,确保应用持续稳定运行。

登录后查看全文
热门项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
162
2.05 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
146
191
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
60
16
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
198
279
apintoapinto
基于golang开发的网关。具有各种插件,可以自行扩展,即插即用。此外,它可以快速帮助企业管理API服务,提高API服务的稳定性和安全性。
Go
22
0
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
950
557
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
96
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
346
1.33 K