使用aws describe_log_streams时遇到节流阀异常

时间:2018-08-02 07:01:42

标签: aws-lambda amazon-cloudwatch

下面是我的lambda的boto3代码段。我的要求是读取整个cloudwatch日志,并基于某些标准应将其推送到S3。

我已使用以下代码片段从每个流中读取cloudwatch日志。对于较少的数据,这绝对可以正常工作。但是,对于每个LogSteam中的大量日志,这将引发

  

油门异常-(已达到最大重试次数:4)   默认/最大值为50。

我尝试给出其他某些值,但没有用。请检查并告诉我是否还有其他替代方法?

while v_nextToken is not None:
    cnt+=1
    loglist += '\n' +  "No of iterations inside describe_log_streams 2nd stage - Iteration Cnt" + str(cnt)
    #Note : Max value of limit=50 and by default value will be 50
    #desc_response = client.describe_log_streams(logGroupName=vlog_groups,orderBy='LastEventTime',nextToken=v_nextToken,descending=True, limit=50)
    try:
        desc_response = client.describe_log_streams(logGroupName=vlog_groups,orderBy='LastEventTime',nextToken=v_nextToken,descending=True, limit=50)
    except Exception as e:
        print ( "Throttling error" + str(e) )

1 个答案:

答案 0 :(得分:0)

您可以将CW日志subscription filter用于Lambda,因此lambda将直接从日志流中触发。您还可以考虑订阅具有一些优点的Kinesis流。