【问题标题】:boto3 get tenancy value from placement gives name errorboto3 从放置中获取租赁值给出名称错误
【发布时间】:2020-01-12 06:14:04
【问题描述】:

尝试编写一个脚本来收集有关我们的 AWS 环境的信息。我只想从展示位置获取租赁信息。

在 boto3 中使用客户端我已尝试获取安置[Tenancy],但出现错误

NameError: name 'Tenancy' 未定义。

我也尝试循环并仅获取键值(如果匹配但我得到了)

如果 n['key'] 中的“租户”: TypeError: 字符串索引必须是整数

这是我目前的想法,如果存在的话,应该只归还租约。

for i in client.instances.all():
    for n in i.placement:
        if 'tenancy' in n['Key']:
            tenancy = n['Value']

我只想在主机默认等情况下返回租约。不知道为什么我不能让放置字典只打印值。

【问题讨论】:

  • 你使用的是resource而不是client

标签: python-3.x boto3


【解决方案1】:

正如我评论的那样,您使用的是 boto3 resource 而不是 client。只要确定。为了获得实例的 Tenancy,请执行此操作。

import boto3
ec2 = boto3.resource('ec2')

response = ec2.instances.all()
for item in response:
    print(item.placement.get('Tenancy'))

【讨论】:

  • 感谢我正在使用资源。无论出于何种原因,我认为我正在使用客户端操作。谢谢你的帮助。
猜你喜欢
  • 2018-08-15
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多