我创建了一个Lambda,该Lambda订阅了特定的日志组,并在每次更新日志组时触发。
但是,由于某种原因,Lambda触发了三次,而不是一次。 Lambda应该将日志文件导出到S3存储桶,并且由于触发了3次,因此将同一日志导出了3次。我的第一个想法是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!'
}