当前位置: 首页 > 知识库问答 >
问题:

函数ec2.snapshots.all不迭代boto3lambda

徐鸿文
2023-03-14
from __future__ import print_function
from boto3 import resource

REGION = "us-east-1"

def lambda_handler(event, context):
    ec2 = resource("ec2", region_name=REGION)
    all_snapshots = ec2.snapshots.all()
    for snapshot in all_snapshots:
        print("SnapshotIteration")
{
  "errorMessage": "2017-03-07T00:08:56.583Z 3faed105-02ca-11e7-b637-cfb921e4e3cc Task timed out after 3.00 seconds"
}

共有1个答案

宋昕
2023-03-14

我怀疑它列出了所有公开可用的快照,这可能相当多。最好将其限制为您是所有者的快照。

description-snapshots()函数接受一个ownerids参数,该参数可以缩小返回值的范围。

下面是boto3快照文档中的一个示例,它展示了如何在snapshots迭代器上使用筛选器:

snapshot_iterator = ec2.snapshots.filter(
    DryRun=True|False,
    SnapshotIds=[
        'string',
    ],
    OwnerIds=[
        'string',
    ],
    RestorableByUserIds=[
        'string',
    ],
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    NextToken='string',
    MaxResults=123
)
 类似资料:
  • 上下文 我想迭代一个Spark数据集,并为每一行更新一个HashMap。 以下是我的代码: 问题 我的问题是Foreach根本不迭代,lambda从来没有执行过,我不知道为什么。 我在这里实现了它:如何在SparkJava中遍历/迭代数据集? 最后,尽管数据集不是空的,但所有内部向量都保持为空(初始化时)(查看给定代码示例中的第一个注释)。 我知道foreach从不迭代,因为我做了两个测试: 添加

  • 合并和拆分迭代器 # itertools_chain.py from itertools import * for i in chain([1, 2, 3], ['a', 'b', 'c']): print(i, end=' ') print() # itertools_chain_from_iterable.py from itertools import * def make_

  • 本文向大家介绍详解Python中的内建函数,可迭代对象,迭代器,包括了详解Python中的内建函数,可迭代对象,迭代器的使用技巧和注意事项,需要的朋友参考一下 Python中的内建函数和可迭代对象,迭代器 求值标识 id() #标识id 返回对象的唯一标识,CPython返回内存地址 hash() #哈希, 返回对象的哈希值 len(s) -->返回一个集合类型的元素个数 range(start,

  • 我当时正在读一本名为《现代Java在行动》的书,其中一部分代码我无法理解。 作者表示,代码不会终止。原因是无法在过滤器中知道数字是否继续增加,因此它会无限地继续过滤它们! 我不明白原因。有人能解释一下为什么吗。

  • 我正在使用PyThon和熊猫。 在网球比赛中,我想通过以下方式过滤我的数据: 检查获胜者是某个玩家 检查失败者是否在指定的集合内 我试着用下面的方法来做 其中df是存储我的数据的数据帧对象。 我得到以下错误: 我理解错误。但是我还没有想出办法来解决它。 我如何进行过滤,使df.loser根据许多值进行检查,而不是像df.winner==player这样的值?