在Aws Lambda基本功能中查看输出

时间:2016-03-20 19:13:35

标签: java amazon-web-services amazon-s3 lambda aws-lambda

我试图在我的Eclipse中使用Java来修改aws lambda函数,如果我将输入作为任何字符串传递,函数调用成功,但是我看到null作为输出,但我&#39 ; m将输入文本本身视为输出。

这是我的代码

    package simpledynamodb;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class LambdaFunctionHandler implements RequestHandler<String, String> {

    @Override
    public String handleRequest(String input, Context context) {

         context.getLogger().log("Input is working");

         context.getLogger().log("Input: " + input);

        // TODO: implement your handler
        return null;
    }

}

输出看起来像

    Uploading function code to dynamodbmaven...
Upload success. Function ARN: arn:aws:lambda:us-west-2:169456523019:function:dynamodbmaven
Invoking function...
==================== FUNCTION OUTPUT ====================
null

在我的代码中我传递了#Hello; Hello world&#34;作为输入文本,我想要看到传递的字符串,而不是我得到空。

我的处理程序类,一切似乎都没问题。这是我的lambda配置的图片

enter image description here

你能告诉我这里我错在哪里吗?

2 个答案:

答案 0 :(得分:1)

我在这里很晚,但你没有看到输出的原因是因为你正在查看Eclipse中的输出 - 它只返回函数调用的结果。 您应该查看Lambda的Cloudwatch日志以获取运行日志。

答案 1 :(得分:0)

它正在打印null,因为这是函数返回的内容。

我假设当你说你应该把输入文本作为输出时,你真正的意思是你应该在日志中的输入字符串中看到。我猜你已经配置了日志记录,以便那些日志不打印。要了解日志记录配置问题只是为了查看输入字符串是什么,您可以尝试使用System.out代替context.getLogger().log