在AWS Amplify部署NextJS后,如何延长/api函数超时时间?
解决AWS Amplify部署NextJS API路由超时问题
首先明确:你通过Amplify托管的NextJS /api目录下的函数,底层仍然运行在AWS Lambda上,只是Amplify帮你自动创建和管理了这些Lambda资源,完全不需要手动迁移到Lambda服务。
你在Amplify控制台找不到相关设置是因为官方没有提供直接的UI配置入口,但可以通过Amplify CLI的自定义覆盖(override)功能来修改超时时间,具体步骤如下:
方法:通过Amplify CLI修改NextJS API路由的Lambda超时
- 在本地项目根目录打开终端,运行以下命令生成项目级覆盖配置文件:
amplify override project - 打开生成的
amplify/backend/project-overrides.js文件,添加Lambda超时的自定义配置。NextJS API对应的Lambda资源默认名为NextjsLambdaFunction,你可以直接修改它的Timeout属性(单位:秒,Lambda最大支持900秒,Amplify无额外限制):const project = require('@aws-amplify/cli-extensibility-helper'); // 将超时设置为30秒,可根据需求调整 project.addOverride('awscloudformation::template::resources::NextjsLambdaFunction::Properties::Timeout', 30); - 保存文件后,运行以下命令推送配置变更:
amplify push
补充说明
- 如果你的项目中还有单独创建的Amplify Function(非NextJS自带的/api路由),可以通过
amplify override function <你的函数名>命令生成对应函数的覆盖文件,在其中修改Timeout属性即可。 - 配置完成后,你可以到AWS Lambda控制台找到对应的函数(名称通常包含
NextjsLambdaFunction前缀),确认超时时间是否已经更新。
内容的提问来源于stack exchange,提问作者trafficleitz
相关产品推荐
相关产品推荐

