我做錯了什么?
class S3:
def __init__(self, b: str, r: str = ""):
self._bucket = b
self._remote_dir = r
self._s3 = client("s3")
def get_bootcamp_dumps(self, file_name):
try:
my_bucket = self._s3.Bucket(self._bucket)
dumps_list = []
for object in my_bucket.objects.all():
dumps_list.append(object.key)
filtered_list = [i for i in dumps_list if i.startswith(file_name)]
return filtered_list
except ClientError as error:
print(error)
這就是我的稱呼
s3 = S3(b='my_bucket_name')
dump_list=s3.get_bootcamp_dumps('key_word')
我收到這個錯誤
AttributeError: 'S3' 物件沒有屬性 'Bucket'
uj5u.com熱心網友回復:
boto3 有兩種不同的方式來訪問 Amazon S3。您似乎在兩者之間混合使用。
客戶端方法
使用客戶端將 1:1 映射到 AWS API 呼叫。例如:
import boto3
s3_client = boto3.client('s3')
objects = s3_client.list_objects('bucket-name')
for object in objects['Contents']:
print(object['Key'])
資源方法
boto3 還提供了更方便的“資源”方法,這些方法更 Pythonic。例如:
import boto3
s3_resource = boto3.resource('s3')
for object in s3_resource.Bucket('bucket-name').objects.all():
print(object.key)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/378528.html
