我想从会话对象创建一个客户端,因为我有不同的配置文件,并且希望每个配置文件的每个会话都不同。与解释类似的东西here
aws_session_obj = boto3.session.Session(
profile_name="system-profile", region_name="us-east-2"
)
ec2 = aws_session_obj.client("ec2")
for instance in ec2.instances.all():
…
但是,上述结果会导致以下错误。不确定,我在这里做错了什么。
botocore/client.py", line 888, in __getattr__
raise AttributeError(
AttributeError: 'EC2' object has no attribute 'instances'. Did you mean: 'run_instances'?
EC2 客户端没有
instances
属性 (docs)。
您应该使用 ServiceResource 来代替。
obj = boto3.session.Session(
profile_name="system-profile",
region_name="us-east-2"
)
ec2 = aws_session_obj.resource("ec2")
for instance in ec2.instances.all():
...