首页 > 解决方案 > Cloudwatch 的 Boto3 API - get_metrics_statistics 返回空数组

问题描述

我正在尝试使用 boto3 调用 cloudwatch API,它似乎进展顺利。但是返回的数据是一个空数组[],即使是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'}

我在 boto3 上尝试了其他 API 来验证连接,我确实得到了有效的响应。

标签: amazon-web-servicesboto3amazon-cloudwatch

解决方案


空数组是可接受的返回值 - 当数据不可用时:

  • 对于时间范围
  • 为单位
  • 该期间
  • 为统计

如果您为该指标请求同一组统计数据/周期/时间范围,您能否在 CloudWatch 控制台中看到一些数据?


推荐阅读