为了账号安全,请及时绑定邮箱和手机立即绑定

ObjectMapper 通过 API 网关破坏 AWS Lambda

ObjectMapper 通过 API 网关破坏 AWS Lambda

SMILET 2023-03-17 16:41:56
有一个 API 网关使用 lambda 代理调用 lambda 函数。记录以下工作正常的身体并将身体发回:package com.dapper.cloud.function;import java.util.Map;import com.amazonaws.services.lambda.runtime.Context;import com.amazonaws.services.lambda.runtime.RequestHandler;import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;public class GrantJwt implements RequestHandler<Map<String, Object>, APIGatewayProxyResponseEvent>{     @Override    public APIGatewayProxyResponseEvent handleRequest(Map<String, Object> input, Context context){        System.out.println(input.get("body").toString());        return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody(input.get("body").toString());    }} 当我更新它以使用ObjectMapper这样的方式时:package com.dapper.cloud.function;import java.util.Map;import com.amazonaws.services.lambda.runtime.Context;import com.amazonaws.services.lambda.runtime.RequestHandler;import com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent;import com.fasterxml.jackson.databind.ObjectMapper;public class GrantJwt implements RequestHandler<Map<String, Object>, APIGatewayProxyResponseEvent>{     @Override    public APIGatewayProxyResponseEvent handleRequest(Map<String, Object> input, Context context){        ObjectMapper m = new ObjectMapper();        System.out.println(input.get("body").toString());        return new APIGatewayProxyResponseEvent().withStatusCode(200).withBody(input.get("body").toString());    }} 日志不显示正文,响应是:{    "message": "Internal server error"}我可以在 AWS Lambda 中使用 Jackson 吗?父POM<dependencies>    <dependency>        <groupId>junit</groupId>        <artifactId>junit</artifactId>        <version>4.12</version>        <scope>test</scope>    </dependency>    <dependency>        <groupId>com.amazonaws</groupId>        <artifactId>aws-lambda-java-core</artifactId>        <version>1.2.0</version>    </dependency>
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

好愚蠢,但如果这对任何人都有帮助,我会很高兴。

ObjectMapper 不是问题。我使用 travis-ci 进行了几次部署,显然如果未设置 memory_size 和超时,则会使用默认的 128 mb 和 3 秒。这不同于 512 mb 和 15 秒的新 lambda 的默认值。

我在 travis 论坛上提出了更改此设置的请求。


查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信