例如,我有这段代码:
import boto3
ec2 = boto3.resource('ec2')
# Where is the client???
我是否需要致电boto3.client('ec2')
或是否有其他方式?
答案 0 :(得分:9)
每个资源对象都有一个名为meta
的特殊属性,它是一个Python dict,包含有关服务的信息,对低级客户端的访问,有时还包含资源的延迟加载缓存属性。您可以像这样访问它:
client = ec2.meta.client
response = client.reboot_instances(InstanceIds=[...])
如果您使用您不希望以后需要跟踪的自定义参数创建资源,此功能特别有用:
ec2 = boto3.resource('ec2', region_name='us-west-2')
# This client is now a US-West-2 client
client = ec2.meta.client
与往常一样,请务必查看official documentation。 注意:此界面在boto3#45中已更改。以前meta
是dict
。