如何使用java、aws lamda在s3 bucket中压缩.gz格式的文件
我在eclipse中使用AWS工具包插件来编写代码,并将其部署到AWS lamda中。我需要在aws的s3 bucket中压缩.gz格式的文件。任何实现这一目标的建议。不使用aws cli选项。请提前感谢。所有Lambda环境都可以获得500MB的磁盘空间。这可以在如何使用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/
/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(没有这样的文件或目录)异常。