Как узнать время последнего лямбда-выполнения? - PullRequest
0 голосов
/ 02 октября 2019

Мне нужно знать, когда лямбда выполнялась в последний раз. Я сообщу, если лямбда сейчас выполняется более 10 минут в течение рабочего времени.

Я много читаю (

избранные ссылки:

https://youtu.be/FpmVHTPTlIM

https://coralogix.com/integrations/cloudwatch-metrics/

https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-metrics.html

AWS CLI get-metric-statistics )

Они помогают мне заставить getMetriStatistics () работать и возвращать DataPoints, но не работает должным образом. Так как он ВСЕГДА возвращает данные. Даже когда данных не существует.

Здесь у меня есть снимок экрана, на котором показана консоль метрик облачного фронта AWS. Как видите, между 5:17 и 5:41 нет лямбда-казней. Cloudfront metrics

Имея это, если я вызову getMetricStatistics , я не должен получать DataPoints. Но вот что я получаю: enter image description here

Что я могу сделать, чтобы получить «безрезультатно», если лямбда не работает? Я не понимаю, почему Average, Minimun, Maximum равны 1 (должно быть 0), а SampleCount кажется мне случайным. Это мой код:

$client = self::getCWInstance();
    $result = $client->getMetricStatistics(array(
        'Namespace' => 'AWS/Lambda',
        'MetricName' => $name,
        'Dimentions' =>array(
            'Name' => 'FunctionName',
            'Value' => 'AddDataSyncWeb'
        ),
        //StartTime : mixed type: string (date format)|int (unix timestamp)|\DateTime
        'StartTime' => strtotime('-225 minutes'),
        //EndTime : mixed type: string (date format)|int (unix timestamp)|\DateTime
        'EndTime' => strtotime('-220 minutes'),
        //The granularity, in seconds, of the returned datapoints. Period must be at least 60 seconds and must be a multiple of 60. The default value is 60
        'Period' => 60,
        'Statistics' => array('Maximum', 'Minimum', 'Average', 'SampleCount'),
    ));

Есть идеи? Заранее спасибо

...