boto3 docs中提供的定义实际上并不清楚,何时最好使用其中一个。
Answers:
boto3.resource
是环绕的高级服务类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.resource
并不能包装所有boto3.client
功能,因此有时需要调用boto3.client
或使用boto3.resource.meta.client
来完成工作。