Amazon S3は削除されたファイルを回復する

amazon-s3 amazon-web-services

S3のバケツから削除したファイルを復元することは可能ですか?

  23  vonhogen  2009-10-15


ベストアンサー

Amazon S3 ドキュメント: によると、以下のようになっています

一度削除されると、オブジェクトを復元したり削除を解除したりする方法はありません

21  Dave Webb  2009-10-15


バージョニングを有効にしていれば、可能です。バージョニングされたバケット上では、ファイルの削除アクションは実際には削除されませんが、”Delete Marker “でバージョンが追加されます。削除マーカーはAWS CLIを使って削除することができます

aws s3api delete-object --bucket yourbucket-name --key "yourfile" --version-id id_of_the_delete_marker

でバケツの中の全てのファイルを取得することができます

aws --output text s3api list-object-versions --bucket yourbucket-name > files.txt

バケツの中のすべてのファイルの削除を解除したい場合は、試してみてください

echo '#!/bin/bash' > undeleteScript.sh && aws --output text s3api list-object-versions --bucket yourbucket-name | grep -E "^DELETEMARKERS" | awk '{FS = "[\t]+"; print "aws s3api delete-object --bucket yourbucket-name --key \42"$3"\42 --version-id "$5";"}' >> undeleteScript.sh && . undeleteScript.sh; rm -f undeleteScript.sh;

47  Chris Cinelli  2015-12-30


答えを探していたので、この質問を更新しただけです

S3バケットにVERSIONINGを追加できるようになりました。これにより、削除後もS3はオブジェクトのバージョンを保持するようになります。完全なドキュメントを参照してください。http://docs.amazonwebservices.com/AmazonS3/latest/dev/Versioning.html

3  dineth  2012-11-12


AWSのコンソールを使ってオブジェクトのバージョンを一覧表示できるようになりました。http://docs.aws.amazon.com/AmazonS3/latest/UG/managing-objects-versioned-bucket.html

正しい権限を持っていれば、削除マーカー(削除されたオブジェクトの最新バージョン)を削除することができ、その結果、オブジェクトが再び利用できるようになります

1  Fabian M  2016-08-22


タイトルとURLをコピーしました