如何使用bot3中的cloudtrail的lookup_events在开始时间和结束时间之间获取所有事件,而未指定MaxResults?

问题描述 投票:0回答:1

我正在尝试使用boto3为特定用户获取AWS cloudtrail事件。

CloudTrail client

我正在使用cloudtrail客户端和lookup_events()功能。我可以指定要获取结果的StartTimeEndTime

但是我可能在StartTimeEndTime之间有数字事件。如果我不为MaxResults提供lookup_events()过滤器,则默认情况下它将返回50事件。

response = client.lookup_events(
    LookupAttributes=[
        {
            'AttributeKey':'Username',
            'AttributeValue': 'user1'
        },
    ],
    StartTime=datetime(2019, 12, 31),
    EndTime=datetime(2020, 1, 1),
    MaxResults=123
)

如果需要获取MaxResults,我需要实际提及MaxResults,这不是我想要的。

我想获取StartTimeEndTime之间的所有事件。

是否有任何方法可以跳过MaxResults参数,并且lookup_events()函数将提取StartTimeEndTime之间的所有事件,而不管该持续时间内有多少个事件以及要花多长时间发送回应?

如果我将MaxResults指定为大于1000,则会收到一条错误消息,提示它应在11000范围内下注=。

python-3.x amazon-web-services boto3 boto amazon-cloudtrail
1个回答
0
投票

不,您在单个API调用中所获得的结果不能超过最大允许的结果。您必须使用分页。

然而,boto3 SDK为您提供了分页功能,因此请参见LookupEvents paginator

© www.soinside.com 2019 - 2024. All rights reserved.