java - AWS Lambda Java HttpURLConnection 超时

标签 java amazon-web-services aws-lambda aws-java-sdk

这是我的 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/

相关文章:

amazon-ec2 - 是否有任何可用的亚马逊网络服务 (aws) 模拟/仿真?

amazon-web-services - Lambda 函数不适用于云形成部署

amazon-web-services - 是否可以将公共(public) IP 分配给 AWS 中的 Lambda 函数?

Java:在 Set 中添加/删除短整型元素时输出不同

java - cocos2dx android studio 编辑配置

java - 外键作为主键注释

java - 具有多个 p 的行选择 :dataTable

amazon-web-services - AWS S3 - 减速 : Please reduce your request rate

amazon-web-services - AWS Lambda 计划的一次性任务

aws-lambda - Cloudformation 上的 AWS JAVA LAMBDA