我在S3上有一个10G的.tar文件,我想要解压那个文件并且把未压缩的文件存在S3上。
有没有一个简单的命令可以对S3运行?
还是我必须自己先在本地解压文件,再手动上传单个文件到S3上?
谢谢
我在S3上有一个10G的.tar文件,我想要解压那个文件并且把未压缩的文件存在S3上。
有没有一个简单的命令可以对S3运行?
还是我必须自己先在本地解压文件,再手动上传单个文件到S3上?
谢谢
您可以通过Amazon CLI或新的Amazon CloudShell来执行此操作,具体命令如下:
aws s3 cp s3://bucket/data.tar.gz - | tar -xz --to-command='aws s3 cp - s3://bucket/$TAR_REALNAME'
注意那些悬挂的 "-" 字符对于将内容管道输送到标准输出/标准输入非常重要。
在Amazon S3上没有操作文件内容的命令。
您需要下载文件,然后解压并上传到S3。
最快的方法是从与存储桶相同区域的Amazon EC2实例中执行此操作。您也可以编写一个AWS Lambda函数来完成此操作,但要注意500MB的/tmp
磁盘空间限制。
你可以使用S3FS在EC2上挂载S3存储桶。
这里有一个链接,详细介绍了如何进行挂载:https://cloudkul.com/blog/mounting-s3-bucket-linux-ec2-instance/
一旦挂载完成,你就可以像在本地硬盘上一样读写S3中的文件了。