答案 0 :(得分:48)
boto3.resources是一个围绕boto3.client的高级服务类。
这意味着可以在以后使用其他资源的位置附加连接的资源,而无需指定原始资源ID。
import boto3
s3 = boto3.resource("s3")
bucket = s3.Bucket('mybucket')
# now bucket is "attached" the S3 bucket name "mybucket"
print(bucket)
# s3.Bucket(name='mybucket')
print(dir(bucket))
#show you all class method action you may perform
OTH,boto3.client是低级别的,您没有"条目类对象",因此您必须为您执行的每个操作明确指定它所连接的确切资源。
这取决于个人需求。但是,boto3.resources并没有包装所有boto3.client功能,所以有时你需要调用boto3.client,或者使用boto3.resource.meta.client()来完成工作。