完全公开,这是为了进行新手训练,但是我很确定我的代码是正确的,我已经多次联系管理员以寻求指导,但没有得到回应。我在显示(Bucket=bucket['Name'])
..有关预设的某些错误时不断收到错误。我以为也许我应该用Prefix代替Bucket,但事实并非如此。
这里的想法是删除gim
个存储桶,并在其位置添加gid
个存储桶。
# Get the list_buckets response
response = s3.list_buckets()
# Delete all the buckets with 'gim', create replacements.
for bucket in response['Buckets']:
if 'gim' in bucket['Name']:
s3.delete_bucket(Bucket=bucket['Name'])
s3.create_bucket(Bucket='gid-staging')
s3.create_bucket(Bucket='gid-processed')
# Print bucket listing after deletion
response = s3.list_buckets()
for bucket in response['Bucket']:
print(bucket['Name'])
脱离alex067所说的,您可以删除所有对象,然后像这样删除存储桶:
for bucket in response['Buckets']:
if 'gim' in bucket['Name']:
bucket_resource = s3.Bucket(bucket['Name'])
bucket_resource.objects.all().delete()
res = bucket_resource.delete()
我建议将此设置为能够在“干”模式下运行,以便在出现问题时不会删除任何不必要的资源。这是可能的工作方式:
for bucket in response['Buckets']:
if 'gim' in bucket['Name']:
bucket_resource = s3.Bucket(bucket['Name'])
print(bucket_resource.objects.all())
for bucket in response['Buckets']:
if 'gim' in bucket['Name']:
res = bucket.delete()
虽然存储桶确实必须为空,但是您才能将其删除。