Java Gzip在aws lambda(无服务器)中不工作
我试图从java代码压缩lambda响应,但在浏览器中它无法解码Java Gzip在aws lambda(无服务器)中不工作,java,amazon-web-services,lambda,aws-lambda,serverless,Java,Amazon Web Services,Lambda,Aws Lambda,Serverless,我试图从java代码压缩lambda响应,但在浏览器中它无法解码 @Override public Map handleRequest(Map<String,Object> input, Context context) { Map<String, Object> repsonse = new HashMap<>(); HashMap<String, String> headers =
@Override
public Map handleRequest(Map<String,Object> input, Context context) {
Map<String, Object> repsonse = new HashMap<>();
HashMap<String, String> headers = new HashMap<>();
headers.put("Content-Encoding", "gzip");
headers.put("Content-Type", "text/html");
final String sampleHtml = "<h1>Hello World</h1>";
ByteArrayOutputStream out = new ByteArrayOutputStream();
GZIPOutputStream gzip = new GZIPOutputStream(out);
gzip.write(sampleHtml.getBytes());
gzip.close();
String responseString = out.toString("ISO-8859-1");
response.put("headers", headers);
response.put("body", responseString);
response.put("statusCode", 200);
response.put("isBase64Encoded", true);
return response;
}
@覆盖
公共地图handleRequest(地图输入、上下文){
Map repsonse=new HashMap();
HashMap headers=新的HashMap();
headers.put(“内容编码”、“gzip”);
headers.put(“内容类型”、“文本/html”);
最终字符串sampleHtml=“Hello World”;
ByteArrayOutputStream out=新建ByteArrayOutputStream();
GZIPOutputStream gzip=新的GZIPOutputStream(输出);
write(sampleHtml.getBytes());
gzip.close();
字符串响应字符串=out.toString(“ISO-8859-1”);
响应。放置(“标题”,标题);
响应。put(“body”,responseString);
响应。输入(“状态代码”,200);
response.put(“isBase64Encoded”,true);
返回响应;
}
不执行out.toString(“ISO-8859-1”)代码>生成base64编码?如何调用此函数?您正在使用API网关吗?如果您使用的是API网关,您不需要手动GZip内容,因为它在引擎盖下使用CloudFront,您可以将其设置为提供GZip内容。请参阅使用API网关的压缩功能。Jinu,您解决过这个问题吗?我在使用java aws流处理程序时遇到了同样的问题-它似乎没有压缩响应,我们已经达到了aws Lambda响应大小(6mb)的限制。。。如果你解决了这个问题,并且可以发布你的答案,这将是非常有帮助的@Jeff请通过此链接进行out.toString(“ISO-8859-1”)代码>生成base64编码?如何调用此函数?您正在使用API网关吗?如果您使用的是API网关,您不需要手动GZip内容,因为它在引擎盖下使用CloudFront,您可以将其设置为提供GZip内容。请参阅使用API网关的压缩功能。Jinu,您解决过这个问题吗?我在使用java aws流处理程序时遇到了同样的问题-它似乎没有压缩响应,我们已经达到了aws Lambda响应大小(6mb)的限制。。。如果你解决了这个问题,并且可以发布你的答案,这将是非常有帮助的@杰夫,请通过这个链接