Closed1

s3オブジェクトの全てのバージョンを削除してからバケットを削除する

na8esinna8esin
$ py -V
Python 3.12.3
py -m pip list | grep boto3
boto3             1.34.129
import boto3

# オブジェクトの全てのバージョンを削除してからバケットを削除する

PREFIX = 'PREFIX'
REGION_NAME = 'REGION_NAME' # s3だと効果がない
PROFILE_NAME = 'PROFILE_NAME'

def delete_bucket(bucket_name):
  s3_resource = session.resource('s3')
  bucket = s3_resource.Bucket(bucket_name)
  bucket.object_versions.delete()
  bucket.delete()


session = boto3.session.Session(
  region_name=REGION_NAME, # s3だと効果ない
  profile_name=PROFILE_NAME
)
s3 = session.client('s3')
response = s3.list_buckets()
for bucket in response['Buckets']:
    if bucket["Name"].startswith(PREFIX):
      delete_bucket(bucket_name=bucket["Name"])
このスクラップは5ヶ月前にクローズされました