我正在python 3.5.2中使用boto 3试图描述ec2图像。医生说可用的过滤器之一是“公开”:
is-public - A Boolean that indicates whether the image is public.
但是Filter语法需要一个字符串列表-仅一个字符串列表作为Value。如果我尝试传递布尔值,则会给我输入类型错误:
Invalid type for parameter Filters[0].Values[0], value: False, type: <class 'bool'>, valid types: <class 'str'>
我的代码:
response = session.client("ec2").describe_images(
Filters=[
{'Name': 'is-public',
'Values': [False],
},
当仅接受字符串时如何传递布尔过滤器?
谢谢... 比尔
答案 0 :(得分:0)
这对我有用...使用小写字母。
ami_filter = [{"Name": "platform", 'Values': ["windows"]},
{"Name": "virtualization-type", 'Values': ["hvm"]},
{"Name": "image-type", 'Values': ["machine"]},
{"Name": "architecture", 'Values': ["x86_64"]},
{"Name": "state", 'Values': ["available"]},
{"Name": "is-public", 'Values': ['false']}]
ami_owners = ['amazon']
results = client.describe_images(Filters=ami_filter, Owners=ami_owners)