用途:把 AWS Amplify 后端 Lambda 函数从 nodejs20.x 升级到 nodejs24.x。正确升级包含两部分:修改 Amplify 配置中的运行时,以及修复源码——Node 24 Lambda 运行时使用新的 Runtime Interface Client,移除了 callback 风格 handler API,且不再等待未完成的 Promise。只改配置会导致函数部署成功但调用时失败或静默丢任务。需按函数逐个处理,同一仓库中函数状态可能不一致。
主要能力:检测 Amplify 代际并定位运行时设置;审计 handler 源码中的破坏性变更;集中翻转运行时与共享工具链;逐函数修复源码;本地构建测试后部署验证。
使用方式:先运行审计脚本 scripts/audit_node24.sh <path-to-function-or-repo>,逐条命中视为需人工审查而非自动修复。在编排层集中修改运行时(Gen 2 为 runtime: 24,需升级 @aws-amplify/backend 而非改用 CDK 逃生舱)、CI 构建机 Node 版本、package.json 的 engines、@types/node、esbuild/bundler target 与 tsconfig。再为每个函数填写 references/fix-brief.md 并派生子代理修复,重点处理 callback 风格 handler 转 async,以及 fire-and-forget Promise 改为 await。最后 Gen 2 用 npx ampx sandbox、Gen 1 用 amplify push 部署,并实际调用确认后台写入、日志、指标完成。仅评估时可用 scripts/audit_node24.sh --report <repo-path>,不做任何修改。
限制:不可整体替换,改运行时字符串安全但重写 handler 不安全;新分支部署可能因账号级命名冲突失败,与运行时升级无关;ESM/CommonJS、OpenSSL、AL2023 基础镜像问题仅影响容器镜像函数或固定模块类型的函数。