在 AWS 上使用具有不同标签的 AMI
AMI 1:
key value
modified_by mark
AMI 2:
key value
modified_by Tom
AMI
尝试使用此过滤器仅获取 name 和 modified_by 值。
ec2_client = boto3.client('ec2', region_name='ap-east-1')
images = ec2_client.describe_images(Owners=['self'],Filters=[{'Name': 'modified_by', 'Values': ['Tom']}])
遇到这个错误
"errorMessage": "An error occurred (InvalidParameterValue) when calling the DescribeImages operation: The filter 'modified_by' is invalid"
如何在 aws lambda 中使用 boto3 调用过滤器 describe_images() 函数以仅获取实例名称和仅获得 modified_by
答案 0 :(得分:2)
您的过滤器不正确。
来自 boto3 docs。
<块引用>tag :key - 分配给 资源。使用过滤器名称中的标签键和标签值作为 过滤值。例如,要查找具有以下标记的所有资源 键 Owner 和值 TeamA ,为过滤器指定 tag:Owner name 和 TeamA 用于过滤器值。
<块引用>tag-key - 分配给资源的标签键。使用此过滤器可以查找所有分配了带有特定键的标签的资源,而不管标签值如何。
例如:
images = ec2_client.describe_images(Owners=['self'],Filters=[{'Name': 'tag-key', 'Values': ['Tom']}])
将列出标签值为“Tom”的所有实例,而不管它们的标签键是什么。
和
images = ec2_client.describe_images(Owners=['self'],Filters=[{'Name': 'tag:modified-by', 'Values': ['Tom']}])
将列出所有标签为“修改者”且值为“汤姆”的图像