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

如何将Amplify Next.js SSR函数的超时时间从10秒延长至30秒?

END RequestId: 0f5be97f-9519-4d07-8c51-45ec9968171f

REPORT RequestId: 0f5be97f-9519-4d07-8c51-45ec9968171f Duration: 10010.52 ms Billed Duration: 10000 ms Memory Size: 512 MB Max Memory Used: 159 MB

2021-08-27T16:22:55.214Z 0f5be97f-9519-4d07-8c51-45ec9968171f Task timed out after 10.01 seconds

![aws amplify lambda function config](https://i.sstatic.net/239nI.png)
---
### 解决方案
配置被覆盖是Amplify的默认机制:每次部署时都会根据内置的IaC(基础设施即代码)模板重新生成Lambda资源,手动在Lambda控制台修改的配置不会被持久化,因此会被重置为默认的10秒,你可以通过以下两种方案永久修改超时配置:
#### 方案1:通过构建后钩子自动更新(改造成本最低)
无需调整现有项目结构,两步配置即可生效:
- 打开AWS IAM控制台,找到当前Amplify项目关联的服务角色,为其添加`lambda:UpdateFunctionConfiguration`权限,允许Amplify在构建阶段修改Lambda配置
- 修改项目根目录下的`amplify.yml`构建配置,在postBuild阶段添加自动更新超时的命令:
```yaml
version: 1
frontend:
  phases:
    preBuild:
      commands:
        - npm ci
    build:
      commands:
        - npm run build
    # 新增postBuild阶段逻辑
    postBuild:
      commands:
        - aws lambda update-function-configuration --function-name 替换为你的Lambda函数实际名称 --timeout 30
  artifacts:
    baseDirectory: .next
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

方案2:通过Amplify CLI持久化配置

如果你是用Amplify CLI管理项目资源,可以直接修改函数的配置参数:

  • 执行命令amplify update function
  • 在交互列表中选择对应处理Next.js API路由的SSR函数
  • 按提示将超时时间调整为30秒后执行amplify push部署即可,后续所有部署都会沿用该配置,不会被覆盖

优化建议

你的接口本地耗时18-20秒是因为需要发起6次第三方API请求,建议优先排查这些请求是否可以从串行调用改为并行调用(通过Promise.all()处理),如果能将耗时压缩到10秒以内,可以从根源避免超时问题,同时降低Lambda运行成本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:27:00