这是我的 Lambda 代码
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class CallURL implements RequestHandler<Void, String> {
@Override
public String handleRequest(Void input, Context context) {
try {
String vAdress = "https://www.google.com";
//context.getLogger().log("URL: " + vAdress+"\n");
URL vURL = new URL(vAdress);
//context.getLogger().log("Open connection\n");
HttpURLConnection vConnection = (HttpURLConnection) vURL.openConnection();
vConnection.setRequestMethod("GET");
vConnection.setConnectTimeout(1000);
vConnection.connect();
return String.valueOf(vConnection.getResponseCode()) +" : "+ vConnection.getResponseMessage();
} catch (IOException ioe) {
return ioe.toString();
}
}
}
直到这一行一切都很好
HttpURLConnection vConnection = (HttpURLConnection) vURL.openConnection();
当我尝试测试这个函数时,我每次都会遇到超时错误。
"errorMessage": "2017-11-29T08:36:22.020Z 5ea45429-d4e0-11e7-8749-31e92e6a27f6 Task timed out after 3.00 seconds"
我在 lambda 设置中选择了“无 VPC”。有人可以帮忙吗?
最佳答案
问题与没有为 lambda 函数分配足够的内存有关。 我已从 128mb 更改为 512mb,并且有效
关于java - AWS Lambda Java HttpURLConnection 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47548348/