Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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、aws lamda在s3 bucket中压缩.gz格式的文件_Java_Amazon S3_Aws Lambda - Fatal编程技术网

如何使用java、aws lamda在s3 bucket中压缩.gz格式的文件

如何使用java、aws lamda在s3 bucket中压缩.gz格式的文件,java,amazon-s3,aws-lambda,Java,Amazon S3,Aws Lambda,我在eclipse中使用AWS工具包插件来编写代码,并将其部署到AWS lamda中。我需要在aws的s3 bucket中压缩.gz格式的文件。任何实现这一目标的建议。不使用aws cli选项。请提前感谢。所有Lambda环境都可以获得500MB的磁盘空间。这可以在/tmp目录中访问。你不能只写磁盘上的任何地方 因此,在您的示例中,您需要执行以下操作: GZIPOutputStream gzos = new GZIPOutputStream(new FileOutputStream("/tmp/

我在eclipse中使用AWS工具包插件来编写代码,并将其部署到AWS lamda中。我需要在aws的s3 bucket中压缩.gz格式的文件。任何实现这一目标的建议。不使用aws cli选项。请提前感谢。

所有Lambda环境都可以获得500MB的磁盘空间。这可以在
/tmp
目录中访问。你不能只写磁盘上的任何地方

因此,在您的示例中,您需要执行以下操作:

GZIPOutputStream gzos = new GZIPOutputStream(new FileOutputStream("/tmp/example.gz"));
如果您确实需要将它放在
/tmp
下的文件夹中,那么您首先需要创建一个目录,您可以使用以下内容:

Path outputPath = Files.createDirectories(Paths.get("/tmp/myfolder"));

要在
/tmp

下创建子目录,我们需要更多详细信息。您是否收到Zip文件并希望另存为GZip文件?档案有多大?你的Lambda有多大?你写了什么代码?您熟悉和吗?是的,我正在使用GZipOutputStream将.gz文件写入s3 bucket。我正在使用S3Event获取钥匙和水桶。但是在编写代码时,我使用的是GZIPOutputStream。GZIPOutputStream gzos=newgzipoutputstream(newfileoutputstream(“myfolder/example.gz”);并且文件大小最大不超过20 mb。但是得到了java.io.FileNotFoundException:myfolder/example.gz(没有这样的文件或目录)异常。