小编Ton*_*ran的帖子

AWS Lambda 函数 Boto 3 filter_log_events 无法使用 endTime 参数

我正在尝试从 Cloudwatch 日志中提取信息,以便根据指标从警报中发送更加自定义的电子邮件。我正在创建一个 lambda 函数来尝试在指定的时间范围内提取信息。但是,当我指定开始时间和结束时间时,响应中没有任何返回。我看过 Boto3 的文档,但没有说太多。我对 python 和 AWS 比较陌生,所以任何帮助都会很棒。代码示例如下:

import boto3
import json
import time
from datetime import datetime
from calendar import timegm

# Create CloudWatch client
clw = boto3.client('logs')


def lambda_handler(event, context):

    # User defined for testing purposes
    name = 'Error Log Metric'
    namespace = 'User Defined Metrics'

    response = clw.describe_metric_filters(metricName=name,
            metricNamespace=namespace)

    LogGroupName = response['metricFilters'][0]['logGroupName']
    FilterPattern = response['metricFilters'][0]['filterPattern']

    StartTime = timegm(time.strptime('2020-06-15T00:00:00.000Z',
                       '%Y-%m-%dT%H:%M:%S.%fZ'))
    EndTime = timegm(time.strptime('2020-06-16T23:59:59.000Z',
                     '%Y-%m-%dT%H:%M:%S.%fZ'))

    filteredLogs = clw.filter_log_events(logGroupName=LogGroupName,
            filterPattern=FilterPattern,
            logStreamNamePrefix='TEST_PREFIX_NAME',
            startTime=StartTime, endTime=EndTime)

    print(filteredLogs)
Run Code Online (Sandbox Code Playgroud)

回复

Response:
null …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services python-3.x boto3 aws-lambda amazon-cloudwatchlogs

2
推荐指数
1
解决办法
2845
查看次数