Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Lambda执行3次_Amazon Web Services_Amazon S3_Aws Lambda_Export_Boto3 - Fatal编程技术网

Amazon web services AWS Lambda执行3次

Amazon web services AWS Lambda执行3次,amazon-web-services,amazon-s3,aws-lambda,export,boto3,Amazon Web Services,Amazon S3,Aws Lambda,Export,Boto3,我已经创建了一个Lambda,它订阅特定的日志组,并在每次更新日志组时被触发 然而,由于某种原因,Lambda会被触发三次而不是一次。Lambda应该将日志文件导出到S3 Bucket,因为它被触发了三次,所以它会将相同的日志导出三次。我的第一个想法是Lambda超时了,因此被触发了多次,但我检查了日志,每次执行都是成功的,每次执行都有一个唯一的RequestId 有什么想法吗?感谢您的帮助 这就是我的Lambda的样子: import boto3 from datetime import ti

我已经创建了一个Lambda,它订阅特定的日志组,并在每次更新日志组时被触发

然而,由于某种原因,Lambda会被触发三次而不是一次。Lambda应该将日志文件导出到S3 Bucket,因为它被触发了三次,所以它会将相同的日志导出三次。我的第一个想法是Lambda超时了,因此被触发了多次,但我检查了日志,每次执行都是成功的,每次执行都有一个唯一的RequestId

有什么想法吗?感谢您的帮助

这就是我的Lambda的样子:

import boto3
from datetime import timedelta, datetime

def lambda_handler(event, context):
    startTime = datetime.utcnow() - timedelta(hours = 2)
    endTime = datetime.utcnow()
    cloudwatch = boto3.client('logs')
    response = cloudwatch.create_export_task(
        taskName = 'LogExport',
        logGroupName = '/aws/lambda/logGroupName',
        fromTime = int(round(startTime.timestamp() * 1000)),
        to = int(round(endTime.timestamp() * 1000)),
        destination='s3Bucket')

    return {
        'status': 200,
        'body': 'Lambda executed succesfully!'
    }

如果您还共享了部署配置,这会很有帮助。是否每次Lambda调用都会发生这种情况,或者只是一些?它总是准确地调用3次吗?显然,这是一个分布式系统,至少有一次语义,但如果它重复调用很多,我会感到惊讶。我所经历的是,当日志流中的更新触发lambda时,它总是调用三次。当我手动运行它时,它只调用一次。您可以从控制台共享Lambda的触发器吗?