【问题标题】:How to get Context for logging when using APIGatewayProxyRequestEvent in aws-lambda在 aws-lambda 中使用 APIGatewayProxyRequestEvent 时如何获取日志记录上下文
【发布时间】:2023-01-08 17:16:54
【问题描述】:

我的项目是用 spring-cloud-function 编写的,部署在 aws-lambda 中。我有一个要求,我应该在其中记录事件。

一点点搜索告诉我使用

com.amazonaws.services.lambda.runtime.Context 通过这样做进行日志记录:

context.getLogger().log("log event here");

我有一个 spring 云函数,它接收 APIGatewayProxyRequestEvent 作为输入,APIGatewayProxyResponseEvent 作为输出参数

又搜索了一下,发现获取上下文,这个可以用org.springframework.messaging.Message包裹

所以我写了这样的函数:

public Function<Message<APIGatewayProxyRequestEvent>, APIGatewayProxyResponseEvent> saveEmployee(){
return request -> {
            Context context = request.getHeaders().get("aws-context", Context.class);
context.getLogger().log("employee save request---: " + request);
    //do something

但是上下文评估为 null 并且我得到 NullPointerException

有人可以指出可能出了什么问题吗?或者如何获取上下文?

提前致谢

【问题讨论】:

  • 有任何指示吗?

标签: logging aws-lambda spring-cloud-function


【解决方案1】:

确保使用以下处理程序:org.springframework.cloud.function.adapter.aws.FunctionInvoker::handleRequest

【讨论】:

    猜你喜欢
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 2018-10-03
    • 2018-09-22
    • 2022-08-17
    • 1970-01-01
    相关资源
    最近更新 更多