捕获AWS Api Gateway中的超时错误

卡米洛·奥尔特贡(Camilo Ortegon)

由于Api网关执行任何请求的时间限制为10秒,因此我尝试处理超时错误,但尚未找到捕获和响应自定义消息的方法。

问题的上下文:我有一个函数,其执行时间不到2秒,但是当该函数执行冷启动时,有时需要10秒钟以上才能在Java中创建与DynamoDB的连接。我已经使用线程优化了我的函数,但是仍然不能保持初始调用的10秒限制。

我需要找到一种传递响应模型的方法,如下所示:

{
  "error": "timeout"
}

为了找到解决方案,我在Lambda中创建了一个函数,该函数在执行10秒后有意响应。与Api Gateway进行集成时,我得到以下响应:

Request: /example/lazy
Status:
Latency: ms

反应体

{
  "logref": "********-****-****-****-1d49e75b73de",
  "message": "Timeout waiting for endpoint response"
}

在文档中,我发现您可以使用Integration Response中的HTTP状态正则表达式来捕获此错误。但是我还没有找到一种解决方法,似乎互联网上也没有人遇到我同样的问题,因为我在任何论坛中都没有找到这个特定的消息。

我已经尝试过这些正则表达式:

.*"message".*
Timeout.*
.*"status":400.*
.*"status":404.*
.*"status":504.*
.*"status":500.*

有人知道我应该使用女巫正则表达式来捕获此“消息”:“超时...?

巴拉吉

您正在从控制台使用“测试调用”功能,该功能的超时限制为10秒。但是,部署API的超时时间为30秒提到这里因此,这足以应付Lambda冷启动案例。请部署,然后使用api链接进行测试。如果由于您的端点花费了30秒以上而超时,则响应将是:

{"message": "Endpoint request timed out"}

为了明确起见,您可以基于集成响应的HTTP状态代码配置方法响应。但是在超时的情况下,没有集成响应。因此,您不能使用该功能来配置超时期间的方法响应。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

捕获AWS Api Gateway中的超时错误

来自分类Dev

使用VTL的AWS Gateway API映射超时

来自分类Dev

AWS Lambda 中的 API 超时?

来自分类Dev

使用API Gateway的AWS Lambda错误消息

来自分类Dev

AWS API Gateway:错误429请求太多

来自分类Dev

AWS API Gateway + DynamoDB角色ARN错误

来自分类Dev

AWS Lex 中的超时错误

来自分类Dev

AWS API网关超时

来自分类Dev

AWS Gateway超时

来自分类Dev

AWS API Gateway to .NET Core Web Api 在 ECS 中运行

来自分类Dev

如何避免AWS API Gateway返回400错误?

来自分类Dev

Geopy:捕获超时错误

来自分类Dev

AWS API Gateway访问另一个帐户中的私有API Gateway

来自分类Dev

从AWS API Gateway导出API定义

来自分类Dev

使用AWS Api Gateway进行Api合成

来自分类Dev

消耗AWS API Gateway API的问题

来自分类Dev

刷新中的AWS API Gateway不可靠

来自分类Dev

使用HTTP代理访问AWS API Gateway中的标头?

来自分类Dev

如何在AWS API Gateway中创建父资源?

来自分类Dev

AWS Api Gateway中的速度:如何访问对象数组

来自分类Dev

导入的专用证书无法链接到AWS中的Api Gateway

来自分类Dev

从AWS API Gateway返回HTML

来自分类Dev

AWS Api Gateway与Dynamo的集成

来自分类Dev

在AWS Lambda python函数中捕获异常

来自分类Dev

AWS KCL 在 docker 中捕获关闭信号

来自分类Dev

AWS API网关错误,与终端节点通信的网络错误,504网关超时

来自分类Dev

在 vue.js 中捕获 API 请求中的错误

来自分类Dev

如何使用超时从python的subprocess.run中捕获错误

来自分类Dev

在 React、JavaScript 中捕获 504(网关超时)错误