完了確認
「S3バケット"handson-cli-s3-replication-replication-destination-XXXXXXXXXXXX"にオブジェクトとバージョンが存在しない。」ことを確認します。
コマンド:
aws s3api list-objects-v2 \
--bucket ${S3_BUCKET_NAME} \
--max-items 1000
結果(例):
「S3バケット"handson-cli-s3-replication-replication-destination-XXXXXXXXXXXX"に削除マーカーが存在しない。」ことを確認します。
コマンド:
aws s3api list-object-versions \
--bucket ${S3_BUCKET_NAME} \
--query 'DeleteMarkers[?IsLatest==`true`].Key' \
--output text
結果(例):
注釈
存在する場合は削除します。
変数の確認:
cat << END
# S3_BUCKET_NAME:"handson-cli-s3-replication-replication-destination-XXXXXXXXXXXX"
S3_BUCKET_NAME="${S3_BUCKET_NAME}"
END
コマンド:
for object_key in $( \
aws s3api list-object-versions \
--bucket ${S3_BUCKET_NAME} \
--query 'DeleteMarkers[?IsLatest==`true`].Key' \
--output text \
); do
for version_id in $( \
aws s3api list-object-versions \
--bucket ${S3_BUCKET_NAME} \
--prefix ${object_key} \
--query 'DeleteMarkers[].VersionId' \
--output text \
); do
aws s3api delete-object \
--bucket ${S3_BUCKET_NAME} \
--key ${object_key} \
--version-id ${version_id}
done
done
結果(例):
{
"VersionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}