我在这里有一些代码来比较使用Lambda和过滤器的两个字典。基本上,我为每个EC2实例都有一个必需的标签字典和一个标签字典。Python Lambda比较字典
我需要能够处理两个条件。第一个条件只是检查实例标签中是否存在所有必需的密钥,并且它们不是空白。
requiredTags = {'Name' : ['WebSense','NAT-V2'] }
instanceTags = i['Instances'][0]['Tags']
requiredTagsPresent = filter(lambda x: x['Key'] in requiredTags and
x['Value'] is not '', instanceTags)
下一个条件是最常见的 - 检查whethere所有键和它们对应的值是
requiredTagsPresent = filter(lambda x: x['Key'] in requiredTags and x['Value'] in requiredTags, instanceTags)
到目前为止,我还没有能够在一个单一的完成以上两个脚本。 最后一个条件是我遇到的问题。我想要一个特定的标签值,如果存在的话,我们只检查是否存在相应的密钥,而不管这个值是什么。我不知道该怎么做。
任何提示?
这还不清楚。如果你无法在一个脚本中完成它们,你能用不同的脚本完成每一个脚本吗?你能告诉我们你是怎么做到的吗?什么是'instance_tags'的类型和它看起来是什么样的? –
Instance_Tags是另一个字典。它看起来像这样。 [{'Key':'Name'},{'Value':'j'} - 所以标签是name = j – Josh