如何从Boto 3资源实例访问低级客户端?

时间:2014-11-11 18:23:38

标签: python amazon-web-services boto3

例如,我有这段代码:

import boto3

ec2 = boto3.resource('ec2')

# Where is the client???

我是否需要致电boto3.client('ec2')或是否有其他方式?

1 个答案:

答案 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中已更改。以前metadict