AWS CLI - 有没有一种方法可以从S3中将tar.gz提取到家中,而无需存储tar.gz?
要精心,AWS CLI - 有没有一种方法可以从S3中将tar.gz提取到家中,而无需存储tar.gz?
有我的AWS S3的tar.gz文件,姑且称之为example.tar.gz。
所以,我想要做的就是下载example.tar.gz的提取的内容到的/ var /家/。
其中一种方法是简单地下载tar.gz,解压缩它,然后删除tar.gz.
但是,我不想使用下载tar.gz文件的空间,我只想下载提取的版本或只存储提取的版本。
这可能吗?
谢谢!
目前还没有一种方法可以用S3来做到这一点。
你可以创建下面的脚本,只要你想下载tar就运行它。就像你有IAM角色/访问键设置一样。
!#/bin/bash
aws s3 cp s3://$1/$2 $3
tar -xvf $3
rm $3
然后只需调用使用./myScript BUCKET_NAME FILE_LOCATION OUTPUT_FILE
这将在本地创建一个tar文件,tar文件解压到磁盘(使用磁盘空间= tar文件+未压缩文件),然后删除tar文件。 – mostafazh
你需要的是下面的脚本:
aws s3 cp s3://example-bucket/file.tar.gz - | tar -xz
这将流的file.tar.gz
从S3和直接提取它(活内存)到当前目录。这个命令后没有临时文件,没有额外的存储和清理。
请确保您完全按照上述方式编写命令。
如果我的回答已经为你工作,请把它标记为“最佳答案” i.stack.imgur.com/QpogP.png – mostafazh