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

How to untar a file on s3 directly on s3?

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

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

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

谢谢

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

您需要下载文件,untar/unzip它,然后将内容上传到 S3。

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

但是,您可以将 S3 存储桶作为 S3FS 安装在 EC2 上。

这里是 link,其中包含有关如何安装的更多详细信息:https://cloudkul.com/blog/mounting-s3-bucket-linux-ec2-instance/

挂载后,您可以像在本地磁盘中一样在 s3 中读取和写入文件。

您可以从 Amazon CLI 或新的 Amazon CloudShell 中使用类似

的命令执行此操作
aws s3 cp s3://bucket/data.tar.gz - | tar -xz --to-command='aws s3 cp - s3://bucket/$TAR_REALNAME'

请注意,所有那些悬挂的“-”字符对于传送到 stdout/stdin

很重要