如何使用Python词典按标签名称对AWS实例进行分组?

安德鲁

例如:我有50个AWS实例。这些实例的标签中的密钥名称为AP1,AP2,AP3,AP4,AP5

现在,我想使用Python词典按标签名称对AWS实例进行分组。像这样:{AP1:[1,2,3 .... 10],AP2:[11,12 ..... 20],AP3:[21,22,.... 30],AP4:[ 31 ..... 40],AP5:[41,42,..... 50]}

根据本文的介绍:使用boto从AWS实例获取标签

我这样使用python脚本:

#!/usr/bin/env python
# -*- encoding: utf8 -*-

import boto.ec2
conn = boto.ec2.connect_to_region('us-west-1')
reservations = conn.get_all_instances()
InstanceMap={}
for reservation in reservations:
    for instance in reservation.instances:
        if 'Name' in instance.tags:
            InstanceMap[instance.tags['Name']].append(instance.id)

当我运行此脚本时,它显示:[root @ Redhat script]#python group.py

追溯(最近一次通话):

在第11行的文件“ group.py”中

InstanceMap[instance.tags['Name']].append(instance.id)

KeyError:u'AP1'

我的脚本怎么了?请提供正确的python脚本。

DjLegolas

当您尝试追加到InstanceMap[instance.tags['Name']]列表时,您尝试追加到列表中,因为键(instance.tags['Name']InstanceMap为空,所以该键尚不存在
首先,您需要检查该密钥是否已存在InstanceMap,如果存在,请使用append。否则,创建它。

#!/usr/bin/env python
# -*- encoding: utf8 -*-

import boto.ec2
conn = boto.ec2.connect_to_region('us-west-1')
reservations = conn.get_all_instances()
InstanceMap={}
for reservation in reservations:
    for instance in reservation.instances:
        if 'Name' in instance.tags:
            tag_name = instance.tags['Name']
            if tag_name in InstanceMap
                InstanceMap[tag_name].append(instance.id)
            else:
                InstanceMap[tag_name] = [instance.id,]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在使用App-Script的Gmail标签名称中使用getThreads()时,如何防止按主题或日期分组?

如何使用JAXB使类字段成为标签名称?

使用Python,如何按小时对Dataframe中的列进行分组?

熊猫如何使用groupby按标签中的日期对列进行分组?

如何使用AWS SDK进行请求签名

为什么列表标签按字面意义使用标签名称,以及如何防止这种情况?

如何按Docker实例对Elastic Stack警报进行分组?

如何按多层行对python数据框进行分组?

如何对分组的每个名称在数据框中按名称进行匹配和计数?

如何按标签名称以及发布的帖子进行搜索

幽灵帖子按标签名称过滤

如何使用starts-with()函数从节点获取标签名称?

如何在Selenium Python中获取标签名称?

如何在Python中使用标签名称在特定标签内获取文本

按根名称对XML内容进行分组

在Python上使用元素树解析Evernote xml:如何查找/删除具有特定标签名称的元素

自动缩放时如何更改新的实例标签名称

如何使用普通的核心Java获取标签名称

如何将“ gcloud计算操作列表”与按实例名称进行过滤一起使用?

如何按日期时间键对python词典进行排序?

如何使用熊猫数据帧在直方图中按标签对列进行分组?

使用 bsObj python 从网页导出标签名称

根据标签名称过滤实例并在 Python 中打印特定标签值

如何在 Python 中对图例标签进行分组?

使用python更改xml中的子标签名称

如何根据python中的标签按输出分组

如何进行按名称计数、求和和分组的查询?

Excel/Python:如何按字母顺序对名称进行分组,以使每个组具有相同数量的字母?

如何使用 Selenium 和 Python 根据标签名称和属性查找 Web 元素