AWS Lambda 中的 Python 请求超时

新手上路,请多包涵

我正在尝试从我的 AWS Lambda 发出 http 请求,但它超时了。

我的代码看起来与此类似:

 import requests

def lambda_handler(event, context):
    print('Im making the request')
    request.get('http://www.google.com')
    print('I recieved the response')

但是当我测试这个时,我超时了。

输出是

Im making the request
END RequestId: id
REPORT RequestId: id    Duration: 15003.25 ms   Billed Duration: 15000 ms   Memory Size: 128 MB Max Memory Used: 18 MB
2016-04-08T20:33:49.951Z id Task timed out after 15.00 seconds

所以我知道问题不是找不到请求包,而是它正在运行我的 python 代码。我只是弄清楚为什么它会在该请求上超时。

原文由 user133688 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 581
2 个回答

我遇到同样的 超时问题,原因如下。

AWS 文件

当您将 VPC 配置添加到 Lambda 函数时,它只能访问该 VPC 中的资源。如果 Lambda 函数需要同时访问 VPC 资源和公共 Internet,则 VPC 需要在 VPC 内部具有网络地址转换 (NAT) 实例。

可能在设置 VPC 时出现一些错误。我建议您可以关注此 博客 来构建 NAT。

原文由 Jim 发布,翻译遵循 CC BY-SA 3.0 许可协议

Lambda 中超时的默认值为 3 秒 = 3000 微秒。转到高级设置并添加 5 分钟。如果超时恰好发生在 3 秒,这可能是唯一的问题。所有其他错误都会或多或少地发生。

原文由 pyBomb 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏