首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该如何为创建新的aws lambda客户端设置"http_read_time_out“,以避免Seahorse:: client ::NetworkingError: Net::ReadTimeout

我应该如何为创建新的aws lambda客户端设置"http_read_time_out“,以避免Seahorse:: client ::NetworkingError: Net::ReadTimeout
EN

Stack Overflow用户
提问于 2019-09-17 12:56:06
回答 1查看 129关注 0票数 2

什么是http_read_time_out,我应该如何在我的aws lambda客户端创建中设置它,以避免"Seahorse:: client ::NetworkingError: Net::ReadTimeout“?

将http_read_time_out设置为与我们在配置lambda函数时设置的aws lambda函数的超时时间相同是否有意义?

我知道默认超时时间是60秒。

代码语言:javascript
复制
conn = aws_lambda_client.new(
                region: region,
                access_key_id: account['access_key'],
                secret_access_key: account['secret_key'],
                session_token: account['session_token'],
              )
Can i add something like 
http_read_timeout: (function.function_timeout? && function.function_timeout > 60) ? function.function_timeout : 60
EN

回答 1

Stack Overflow用户

发布于 2020-02-25 14:07:07

首先,您必须设置lambda函数的超时时间,默认情况下为3秒https://docs.aws.amazon.com/lambda/latest/dg/configuration-console.html

如果你正在执行同步调用,那么你必须将Lambda客户端的read_timeout设置为异步,不应该有阻塞调用。

在Java中的

(SDK v2)您可以通过以下方式完成此操作

https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/examples-lambda.html

指定自定义HTTP客户端

代码语言:javascript
复制
SdkHttpClient httpClient = ApacheHttpClient.builder().socketTimeout(Duration.ofMinutes(2)).build();

LambdaClient client = LambdaClient.builder()
                .region(Region.EU_WEST_1)
                .httpClient(httpClient)
                .overrideConfiguration(
                        ClientOverrideConfiguration.builder()
                        .apiCallTimeout(Duration.ofMinutes(3)).build())
                .build();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57967569

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档