Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Gzip在aws lambda(无服务器)中不工作_Java_Amazon Web Services_Lambda_Aws Lambda_Serverless - Fatal编程技术网

Java Gzip在aws 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 =

我试图从java代码压缩lambda响应,但在浏览器中它无法解码

    @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)的限制。。。如果你解决了这个问题,并且可以发布你的答案,这将是非常有帮助的@杰夫,请通过这个链接