何时使用boto3客户端以及何时使用boto3资源?

aqu*_*lah 54 amazon-web-services boto3

我试图了解何时应该使用资源以及何时应该使用客户端.

boto3文档中提供的定义在使用其中一个或另一个时更不清楚.

moo*_*oot 55

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
Run Code Online (Sandbox Code Playgroud)

OTH,boto3.client是低级别的,您没有"条目类对象",因此您必须为您执行的每个操作明确指定它所连接的确切资源.

这取决于个人需求.但是,boto3.resources并不包含所有boto3.client功能,因此有时您需要调用boto3.client,或使用boto3.resource.meta.client()来完成工作.

  • 任何人都需要全面的例子,请看这里:/sf/ask/2996636751/#42818143 (3认同)
  • 谢谢,这有所帮助,文档本身有点含糊,但是我想关键是客户端映射到您可以进行的特定API调用。 (2认同)
  • 该示例未显示任何显示差异的内容。 (2认同)