从一个s3存储桶中获取zip文件,将其解压缩到另一个s3存储桶中

时间:2019-02-27 10:31:28

标签: amazon-s3 aws-lambda zip unzip

我在一个s3存储桶中有zip文件 我需要解压缩它们,然后将解压缩的文件夹复制到另一个s3存储桶中,并保留源路径

例如-如果在源存储桶中

下的zip文件
"s3://bucketname/foo/bar/file.zip"

然后在目标存储桶中,它应该为"s3://destbucketname/foo/bar/zipname/files.."

怎么办? 我知道有可能用lambda做到这一点,所以我不必在本地下载它,但是我不知道怎么做

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您希望在将Zip文件上传到存储桶后立即触发上述过程,则可以编写一个AWS Lambda函数

触发Lambda函数时,将向其传递上载的存储桶和对象的名称。该函数然后应该:

  • 下载压缩文件到/tmp
  • 解压缩文件(请注意:最大可用存储空间:500MB)
  • 浏览解压缩的文件并将其上传到目标存储桶
  • 删除所有创建的本地文件(以释放空间以供将来执行该功能)

有关一般示例,请参见:Tutorial: Using AWS Lambda with Amazon S3 - AWS Lambda