ラムダとフィルタを使用して2つの辞書を比較するためにここにいくつかのコードがあります。基本的には、EC2インスタンスごとに必要なタグ辞書とタグ辞書があります。Python Lambda辞書を比較する
私は2つの条件を処理できる必要があります。最初の条件は、必須タグのすべてのキーがインスタンスタグ内に存在するかどうかをチェックし、空白でないかどうかをチェックするだけです。
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)
これまでのところ、私は単一では上記の両方を達成することができていませんスクリプト。 最後の状態は私が問題を抱えている状態です。私は特定のタグ値を持っていますが、もしあれば、値にかかわらず対応するキーの存在のみをチェックします。私はそのようなことをどうやって行うのか分かりません。
ヒント?
これは明らかではありません。 1つのスクリプトで両方を達成できない場合は、別々のスクリプトでそれぞれを達成できますか?どうやってそれを見せてくれますか? 'instance_tags'のタイプは何ですか?どのように見えますか? –
Instance_Tagsは別の辞書です。それはこのように見えます。 [{'Key': 'Name'}、{'Value': 'j'} - タグはname = jなので – Josh