Java ObjectMapper通过API网关破坏AWS Lambda
有一个API网关使用lambda代理调用lambda函数 记录并发回以下工作精细体:Java ObjectMapper通过API网关破坏AWS Lambda,java,amazon-web-services,aws-lambda,aws-sdk,Java,Amazon Web Services,Aws Lambda,Aws Sdk,有一个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.lam
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());
}
}
日志不显示正文,响应为:
{
"message": "Internal server error"
}
我可以在AWS Lambda中使用Jackson吗
母体聚甲醛
<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>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-events</artifactId>
<version>2.2.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.9</version>
</dependency>
</dependencies>
朱尼特
朱尼特
4.12
测试
亚马逊网站
aws lambda java内核
1.2.0
亚马逊网站
aws lambda java事件
2.2.6
com.fasterxml.jackson.core
杰克逊数据绑定
2.9.9
儿童身材
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
org.apache.maven.plugins
maven阴影插件
3.0.0
假的
包裹
阴凉处
很愚蠢,但如果这对任何人都有帮助,我很高兴
ObjectMapper不是问题所在。我使用travis ci进行了几次部署,显然,如果内存大小和超时未设置为默认的128 mb,并且使用了3秒,那么这种情况就会发生。这与新lambda的默认值(512 mb和15秒)不同
我在travis论坛上请求更改此设置。很愚蠢,但如果这对任何人都有帮助,我非常高兴 ObjectMapper不是问题所在。我使用travis ci进行了几次部署,显然,如果内存大小和超时未设置为默认的128 mb,并且使用了3秒,那么这种情况就会发生。这与新lambda的默认值(512 mb和15秒)不同
我在travis论坛上打开了一个更改此内容的请求。看起来您并没有实际使用objectmapper,您只是在实例化它?@SimonB现在这是正确的,也许可以尝试自动连接它。@SimonB您的意思是只使用输入和输出流吗?看起来您并没有实际使用objectmapper,您只是在实例化它吗?@SimonB现在是正确的,也许可以尝试自动连接它。@SimonB您的意思是只使用输入和输出流吗?
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<createDependencyReducedPom>false</createDependencyReducedPom>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>