有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

AWS lambda Java开放httpsocket超时

在AWS Lambda中,在我的处理函数中运行以下命令:

URL url = new URL("www.sfsuperiorcourt.org");
URLConnection connection = url.openConnection();
connection.setConnectTimeout(2000);
connection.connect();

这是在一个处理函数中。在本地运行时,它很好,可以立即连接,并且我能够检索内容。在Lambda上,它会以java.net.SocketTimeoutException: connect timed out失败。如果我没有设置连接超时,Lambda本身会在10秒后超时。这种情况持续发生,在我的本地机器上,它持续成功,所以我确信我连接的站点没有问题

我能够在Lambda上成功地进行IP地址解析,所以这不是问题所在。似乎完全与打开插座有关

也许我的角色需要权限才能打开socket?还有其他明显的事情吗?有没有已知的调试TCP层的方法


共 (1) 个答案

  1. # 1 楼答案

    如果你在VPC中设置了lambda,而你在该VPC中不需要它,只需将lambda设置在noVPC中即可

    否则,请阅读我的答案here