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

Dan*_*iel 7 python amazon-web-services boto3

例如,我有这个代码:

import boto3

ec2 = boto3.resource('ec2')

# Where is the client???
Run Code Online (Sandbox Code Playgroud)

我需要打电话boto3.client('ec2')还是有其他方式?

Dan*_*iel 9

每个资源对象都有一个名为的特殊属性meta,它是一个Python dict,包含有关服务的信息,对低级客户端的访问,有时还包含资源的延迟加载的缓存属性.您可以像这样访问它:

client = ec2.meta.client

response = client.reboot_instances(InstanceIds=[...])
Run Code Online (Sandbox Code Playgroud)

如果您使用您不希望以后跟踪的自定义参数创建资源,这将非常有用:

ec2 = boto3.resource('ec2', region_name='us-west-2')

# This client is now a US-West-2 client
client = ec2.meta.client
Run Code Online (Sandbox Code Playgroud)

一如既往,请务必查看官方文档.注意:此接口在boto3#45中已更改.以前meta是一个dict.