如何将boto3过滤器用于布尔值

时间:2018-06-29 19:39:31

标签: python-3.x boto3

我正在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],
  },

当仅接受字符串时如何传递布尔过滤器?

谢谢... 比尔

1 个答案:

答案 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)