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

如何为aws-amplify生成的GraphQL客户端设置自定义超时?

解决Amplify GraphQL查询Lambda超时问题

你遇到的Lambda:Unhandled超时错误,核心原因是Lambda函数默认超时时间为3秒,而你的handler执行耗时(4秒)超过了这个上限。下面分两步解决:

1. 调整Lambda函数的超时配置

你使用Amplify的defineFunction定义函数,可直接在函数定义中添加超时参数:

const serviceHandler = defineFunction({
  entry: './service_call/handler.ts',
  timeout: 10 // 设置超时时间为10秒,可按需调整,Lambda最大支持900秒(15分钟)
});

也可以通过配置文件修改:找到项目中amplify/backend/function/[你的函数名称]/function.json,修改Timeout字段:

{
  // ...其他配置
  "Timeout": 10
}

修改完成后运行命令部署变更:

amplify push

2. 同步调整Amplify客户端请求超时

为避免客户端在Lambda完成执行前提前断开,需同步调整generateClient的请求超时设置,确保客户端等待时间长于Lambda的超时时间:

const client = generateClient<Schema>({
  apiOptions: {
    fetchTimeout: 15000, // 单位为毫秒,这里设置15秒,比Lambda的10秒超时更长
    // 可选:根据业务需求配置重试策略
    retryMode: 'ON_ERROR'
  }
});

验证修改

调整完成后重新运行测试代码,4秒的延迟不会再触发超时错误,service_call查询将正常返回结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 14:14:49