특정 s3 bucket을 통째로 삭제하는 python script 예시
2021-07-24
.
Data_Engineering_TIL(20210724)
- 사용방법
python3 delete_bucket.py my-s3-bucket-name
- delete_bucket.py
import boto3
import sys
def delete_all_objects(BUCKET):
session = boto3.session()
s3 = session.resource('s3')
bucket = s3.Bucket(BUCKET)
print("*"*150,'\n')
print(bucket.objects.all().delete())
print('\n','delete all objects completed \n')
print("*"*150,'\n')
def delete_all_object_versions(BUCKET):
session = boto3.session()
s3 = session.resource('s3')
bucket = s3.Bucket(BUCKET)
print("*"*150,'\n')
print(bucket.object_versions.delete())
print('\n','delete all object_versions completed \n')
print("*"*150,'\n')
def delete_bucket(BUCKET):
client = boto3.client('s3')
print(client.delete_bucket(Bucket=BUCKET))
print('\n','delete all {} bucket completed \n'.format(BUCKET))
print("*"*150,'\n')
if __name__ == "__main__":
BUCKET = sys.argv[1]
# step 1) delete_all_objects
delete_all_objects(BUCKET)
# step 2) delete_all_object_versions
delete_all_object_versions(BUCKET)
# step 3) delete_bucket
delete_bucket(BUCKET)