我最近开始使用AWS。 s3存储桶启用了版本ID,我将文件从一个文件夹复制到另一个文件夹,这导致替换了具有相同名称的文件。我尝试运行以下脚本(信用:堆栈溢出)以使用版本ID恢复文件,并按如下所示运行脚本:
sh脚本名称存储桶名称文件夹名称
aws s3api list-object-versions --bucket $1 --prefix $2 --output text |
grep "VERSION*" | while read obj
do
KEY=$( echo $obj| awk '{print $4}')
VERSION_ID=$( echo $obj | awk '{print $8}')
echo $KEY
echo $VERSION_ID
aws s3api delete-object --bucket $1 --key $KEY --version-id $VERSION_ID
done
这没有恢复数据,有人可以在脚本中给我任何指针或编辑内容来帮助我撤消副本吗?
答案 0 :(得分:0)
直接来自Restoring Previous versions上的as文档。
版本控制的价值主张之一是能够检索 对象的先前版本。这样做有两种方法:
- 将对象的先前版本复制到同一存储桶中
复制的对象成为该对象和所有对象的当前版本 对象版本被保留。
- 永久删除对象的当前版本
删除当前对象版本时,实际上是将 将该对象的先前版本转换为当前版本。
运行删除脚本后,当前文件的版本正确吗?
答案 1 :(得分:0)
使用S3控制台查看版本最简单。
点击文件后,您会看到“最新版本”下拉菜单。您可以从此处删除特定版本,或下载特定版本。
例如,您可以删除旧版本“之上”的较新版本,以使旧版本成为当前版本。