Boto3 API для cloudwatch - get_metrics_statistics возвращает пустой массив - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь вызвать cloudwatch API с помощью boto3, и, похоже, все идет хорошо. Но возвращенные данные - пустой массив [], даже с ответом 200. Чего мне не хватает?

cloudwatch.get_metric_statistics(
        Namespace='AWS/ELB',
        MetricName='Latency',
        Dimensions=[
            {
                'Name' : 'LoadBalancerName',
                'Value' : '********'
            }
        ],  
        StartTime=datetime.utcnow() - timedelta(seconds=600),
        EndTime=datetime.utcnow(),
        Period=60,
        Statistics=['Average', 'Maximum']
)

{u'Datapoints': [], 'ResponseMetadata': {'RetryAttempts': 0, 'HTTPStatusCode': 200, 'RequestId': 'f631c9d6-b6d4-11e8-9b60-89ddf4935382', 'HTTPHeaders': {'x-amzn-requestid': 'f631c9d6-b6d4-11e8-9b60-89ddf4935382', 'date': 'Wed, 12 Sep 2018 21:44:00 GMT', 'content-length': '330', 'content-type': 'text/xml'}}, u'Label': 'Latency'}

Я попробовал другие API на boto3, чтобы проверить соединение, и я получил правильный ответ.

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018

Оказывается, почему-то AWS-SDK добавлял месяц к моим параметрам startDateTime и EndDateTime. Я использовал

 AWS.config.logger = console; 

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

0 голосов
/ 13 сентября 2018

пустой массив является приемлемым возвращаемым значением - когда данные недоступны:

  • для диапазона времени
  • для единицы измерения
  • для периода
  • для статистики

Можно ли просмотреть некоторые данные в консоли CloudWatch, если вы запрашиваете тот же набор статистики / периода / временного диапазона для этой метрики?

...