Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x boto3从placement获取租约值时出现名称错误_Python 3.x_Boto3 - Fatal编程技术网

Python 3.x boto3从placement获取租约值时出现名称错误

Python 3.x boto3从placement获取租约值时出现名称错误,python-3.x,boto3,Python 3.x,Boto3,试图制作一个脚本来收集有关AWS环境的信息。我只想从安置中获得租赁信息 在boto3中使用客户端时,我已尝试获取placement[租约],但出现错误 NameError:未定义名称“租约” 我也试着循环,如果匹配的话,只得到键值,但是我得到了 如果n[“键”]中的“租约”: TypeError:字符串索引必须是整数 以下是我目前的想法,如果租赁存在,我应该归还租赁 for i in client.instances.all(): for n in i.placement:

试图制作一个脚本来收集有关AWS环境的信息。我只想从安置中获得租赁信息

在boto3中使用客户端时,我已尝试获取placement[租约],但出现错误

NameError:未定义名称“租约”

我也试着循环,如果匹配的话,只得到键值,但是我得到了

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

以下是我目前的想法,如果租赁存在,我应该归还租赁

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

如果是主机默认值,我只想返回租约。不确定为什么我不能让placement dictionary只打印值。

正如我所评论的,您使用的是boto3
资源
而不是
客户端
。确定一下。要获得实例的租约,请执行以下操作

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

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

您正在使用
资源
而不是
客户端
。谢谢,我正在使用资源。无论出于什么原因,我认为我在使用客户端操作。谢谢,这很有帮助。