我正在尝试使用boto3库
删除S3存储桶import boto3
s3 = boto3.client('s3')
bucket = s3.Bucket('my-bucket')
response = bucket.delete()
我收到以下错误:
"errorType": "AttributeError",
"errorMessage": "'S3' object has no attribute 'Bucket'"
我看不出有什么问题...谢谢
答案 0 :(得分:0)
试试这个:
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
bucket.delete()
答案 1 :(得分:0)
这是因为客户端界面(boto3.client
)没有.Bucket()
,只有boto3.resource
,所以这可行:
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
response = bucket.delete()
引自docs:
Resources表示面向对象的Amazon Web Services(AWS)界面。它们提供比服务客户端进行的原始低级调用更高级别的抽象。
一般来说,如果你使用boto3,资源应该是你大多数时候首选的界面。
答案 2 :(得分:-1)
错误消息包含带有大写字母S的'S3'。我怀疑这里没有粘贴拼写错误,因为你的代码显示's3',小写s。
就个人而言,我只是这样做:
import boto3
s3 = boto3.client('s3')
bucket = 'my_bucket'
response = s3.delete_bucket(Bucket=bucket)