[英]Better way write custom filters | Python - AWS - Boto3
我的要求是根據2個條件進行過濾:
我可以通過編寫2個單獨的自定義過濾器來實現此目的,但是我想知道是否可以在單個過濾器中實現相同的目的。
我的代碼:
stopped_filter = Filters=[{'Name': 'instance-state-name', 'Values': ['stopped']}]
stopped_instances = ec2.instances.filter(Filters=stopped_filter)
tag_filter = Filters=[{'Name':'tag-key', 'Values':['doaf']}]
tagged_instances = ec2.instances.filter(Filters=tag_filter)
我嘗試過的
filter = Filters=[{'Name': 'instance-state-name', 'Values': ['stopped']}, {'Name':'tag-key', 'Values':['doaf']}]
stopped_and_tagged_instances = ec2.instances.filter(Filters=filter)
這行:
filter = Filters=[{'Name': 'instance-state-name', 'Values': ['stopped']}, {'Name':'tag-key', 'Values':['doaf']}]
應該:
filter = [{'Name': 'instance-state-name', 'Values': ['stopped']}, {'Name':'tag-key', 'Values':['doaf']}]
完整示例:
import boto3
ec2 = boto3.resource('ec2', region_name='ap-southeast-2')
filter = [{'Name': 'instance-state-name', 'Values': ['stopped']}, {'Name':'tag-key', 'Values':['Foo']}]
stopped_and_tagged_instances = ec2.instances.filter(Filters=filter)
print([i.id for i in stopped_and_tagged_instances])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.