python-3.x - 如何使用 bool 值的 boto3 过滤器

标签 python-3.x boto3

我在 python 3.5.2 中使用 boto 3 试图描述 ec2 图像。文档说可用的过滤器之一是“is-public”:

is-public - A Boolean that indicates whether the image is public.

但是 Filter 语法需要一个字符串列表 - 而且只是一个字符串列表 - 作为值。如果我尝试传递一个 bool 值,它会给我一个类型错误:

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],
  },

当 bool 过滤器只接受字符串时,我该如何传递它?

谢谢... 账单

最佳答案

这对我有用...使用小写。

    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)

关于python-3.x - 如何使用 bool 值的 boto3 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51108391/

相关文章:

python - 使用 KeyConditionExpression 的 boto3 查询

python - 虚拟环境问题 : can't import installed packages in the virtualenv

python - 如何并行化需要多个常量的函数?

python - 我如何调整我的代码以仅删除打印所需的值

python - HTTP代码400在python中使用Boto3从AWS S3存储桶获取对象

amazon-web-services - 在同一存储桶中复制 S3 对象不起作用

amazon-web-services - Stubber没有boto3属性

python-3.x - Python 3,PIL 是 Pillow 的别名吗?

python - 使用必须导入其他模块的模块运行 unittest

python - 使用 boto3 将图像上传到 AWS S3。点击 URL 后就会下载