【问题标题】:View output in Aws Lambda basic function在 Aws Lambda 基本函数中查看输出
【发布时间】:2016-07-07 05:00:51
【问题描述】:

我正在尝试在我的 Eclipse 中使用 Java 调用 aws lambda 函数,如果我将输入作为任何字符串传递,则该函数调用成功,但是,我看到 null 作为输出,但我期待输入文本自己作为输出。

这是我的代码

    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 world”作为输入文本传递,我想看到传递的字符串,而不是我得到空值。

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

你能告诉我我哪里错了吗?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我来得太晚了,但您看不到输出的原因是您正在查看 Eclipse 中的输出 - 它只返回函数调用的结果。 您应该查看 Lambda 的 Cloudwatch 日志以获取运行日志。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-19
        • 2023-01-22
        • 2018-04-23
        • 2015-08-12
        • 2019-04-03
        相关资源
        最近更新 更多