バージョニングが有効化されている S3 バケットを削除したいと思ったのですが、aws s3api
に見当たらなかったので boto3
で簡単に書きました。
以下を delete-bucket.py
などとして実行します。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import boto3
from boto3.session import Session
boto3.set_stream_logger()
session = Session(profile_name='YOUR_AWS_PROFILE_NAME')
s3 = session.resource('s3')
bucket = s3.Bucket('YOUR_S3_BUCKET_NAME')
# 全オブジェクトの削除
bucket.object_versions.delete()
# バケットの削除
bucket.delete()
実行するときの注意
上のまま実行すると、標準出力に大量のログ(削除したオブジェクトのバージョンの一覧)が出力されるので、以下のようにして実行することをおすすめします。
$ python ./delete-bucket.py | gzip -c >./delete-bucket_$(date +%Y%m%d_%H%M%S).log.gz