如何直接在 s3 上解压 s3 上的文件?

Zhe*_*Liu 5 tar amazon-s3 amazon-web-services

我在 s3 上有一个 10G 文件 .tar 文件,我想解压缩该文件并将解压缩的文件保留在 s3 上。

是否有我可以针对 s3 运行的简单命令?

还是我必须自己在本地解压缩文件,然后自己将各个文件上传回 s3?

谢谢

Rob*_*iff 14

您可以通过 Amazon CLI 或新的Amazon CloudShell执行此操作使用如下命令来执行此操作

aws s3 cp s3://bucket/data.tar.gz - | tar -xz --to-command='aws s3 cp - s3://bucket/$TAR_REALNAME'
Run Code Online (Sandbox Code Playgroud)

请注意,所有这些悬空的“-”字符对于管道到标准输出/标准输入都很重要


Joh*_*ein 3

没有用于操作 Amazon S3 上的文件内容的命令。

您需要下载该文件,解压/解压缩它,然后将内容上传到 S3。

这将从与存储桶位于同一区域的 Amazon EC2 实例中以最快的速度完成。您也可以编写一个 AWS Lambda 函数来执行此操作,但要注意 500MB/tmp磁盘空间限制。