Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Lambda使用Java-设置配置连接/套接字超时_Java_Amazon Web Services_Aws Lambda_Connection Timeout - Fatal编程技术网

AWS Lambda使用Java-设置配置连接/套接字超时

AWS Lambda使用Java-设置配置连接/套接字超时,java,amazon-web-services,aws-lambda,connection-timeout,Java,Amazon Web Services,Aws Lambda,Connection Timeout,请看这里: 连接超时是以毫秒为单位的时间量 HTTP连接将等待建立连接,然后再给出 向上的默认值为50000毫秒。要自行设置此值,请使用 ClientConfiguration.setConnectionTimeout方法 我正在尝试自己设置值,使用: ClientConfiguration configuration = new ClientConfiguration(); configuration.setConnectionTimeout(1900000); configuration.

请看这里:

连接超时是以毫秒为单位的时间量 HTTP连接将等待建立连接,然后再给出 向上的默认值为50000毫秒。要自行设置此值,请使用 ClientConfiguration.setConnectionTimeout方法

我正在尝试自己设置值,使用:

ClientConfiguration configuration = new ClientConfiguration();
configuration.setConnectionTimeout(1900000);
configuration.setSocketTimeout(1900000);
问题是,我试图从AWS Lambda Java函数中更新此值。如果我正在调用一个外部lambda函数,我可以在调用之前配置它。这就是所有文档中显示的示例

有没有一种方法可以添加一个环境变量或通过编程从自身内部更新当前的AWS Lambda Java函数连接和套接字超时

进一步澄清:


没有调用此lambda函数的客户端。计划在小时进行,由事件类型CloudWatch Events-Schedule触发。lambda本身会发出一个GET调用请求,该请求的运行时间从65秒到140秒不等。lambda总时间目前延长至5分钟。lambda的GET调用正好在50秒时失败。上面提供的AWS文档引用了默认的50秒限制,有3次重试尝试,这两次尝试都可以修改。但是,我无法通过lambda自己的代码或lambda本身的任何参数以编程方式修改连接或套接字超时。必须有一种方法来正确配置它


通过HTTPS连接到外部服务。我给它提供了代理设置,我验证了连接是否正确,这是正确的呼叫。在《邮差》中,任何输入或限制都需要65秒以上的时间


请告知。

我发现了问题。事实证明lambda在AWS控制台上是成功的。它只是在Eclipse中失败了。包含AWS SDK的AWS工具包出现以下错误:

com.amazonaws.SdkClientException:无法执行HTTP请求:读取超时

我对上面描述的代码和AWS控制台进行了更改,但它不起作用。AWS Toolkit>首选项中的设置如下所示:


上述超时都设置为20000s,限制了我如上所述的HTTPS调用。我将这个值更新得非常高,以测试它,现在它在大约93秒内解析。邮递员在同一时间段的电话也是93秒。

我想我们需要澄清你的情况。假设我正在运行客户端,而您正在提供lambda函数。。。您是否希望lambda函数修改我的客户端等待它完成的超时?如果是这样的话,那是不可能的,因为几个不同的原因。。。所以你可能想解释你实际上想解决什么问题,而不是你现在想如何解决它,也许我们可以找到一个解决方案,或者至少澄清为什么这是不可能的。否则,如果您正在寻找不同的场景,请澄清。没有客户端调用此lambda函数。计划在小时进行,由事件类型CloudWatch Events-Schedule触发。lambda本身会发出一个GET调用请求,该请求的运行时间从65秒到140秒不等。lambda总时间目前延长至5分钟。lambda的GET调用在50秒时失败。上面提供的AWS文档引用了默认的50秒限制,有3次重试尝试,这两次尝试都可以修改。但是,我无法通过lambda自己的代码或lambda本身的任何参数以编程方式修改连接或套接字超时。必须有一种方法来正确配置它。我在帖子正文中添加了这一部分,以帮助其他人在第一次阅读时理解。好吧,那么。。。CloudWatch Lambda调用是异步的,所以不是调用方的超时给您带来了问题,我最初认为您正在尝试修改这些问题,这是没有意义的,因为调用方的连接是到Lambda API,而不是直接到您的函数-这里的调用方是CloudWatch。这里讨论的50秒是从Lambda代码使用SDK发出请求时的超时时间。您是向AWS服务还是向外部服务发出长期运行的GET请求?通过HTTPS向外部服务发出长期运行的GET请求。我给它提供了代理设置,我验证了连接是否正确,这是正确的呼叫。在《邮差》中,任何输入或限制都需要65秒以上的时间。