boto3 get_metric_statistics возвращает пустые точки данных - PullRequest
0 голосов
/ 27 августа 2018

Я пытаюсь создать простой плагин Python, который возвращает метрики на DynamodB, но я могу только заставить его вернуть пустую точку данных.

#!/usr/bin/env python
import sys
import boto3
import time
import optparse
from pprint import pprint
from datetime import datetime
from datetime import timedelta

def initialize_client():

    client = boto3.client(
        'cloudwatch',
        aws_access_key_id = 'xxxxx',
        aws_secret_access_key = 'xxxxx',
        region_name = 'us-east-2'
    )

    return client    

def request_metric(client):

    response = client.get_metric_statistics(
        Namespace = 'AWS/DynamoDB',
        Period = 120,
        StartTime = datetime.utcnow() - timedelta(days=2),
        EndTime = datetime.utcnow(),
        MetricName = 'ConsumedWriteCapacityUnits',
        Statistics=['Average'],
        Dimensions = [
            {
                'Name': 'TableName',
                'Value': 'test'
            }   
        ],        
    )

    return response    

def main():

    client = initialize_client()

    response = request_metric(client)

    pprint(response)

    return 0

main()

Вот вывод, который я получаю:

{u'Datapoints': [],
 u'Label': 'ConsumedWriteCapacityUnits',
 'ResponseMetadata': {'HTTPHeaders': {'content-length': '349',
                                      'content-type': 'text/xml',
                                      'date': 'Wed, 22 Aug 2018 20:57:44 GMT',
                                      'x-amzn-requestid': 'xxxxx'},
                      'HTTPStatusCode': 200,
                      'RequestId': 'xxxxx',
                      'RetryAttempts': 0}}

Мне удалось заставить его работать с RDS, но я не могу заставить DynamoDB возвращать точки данных. Что мне здесь не хватает?

1 Ответ

0 голосов
/ 27 августа 2018

Возникла проблема со временем запуска. Однажды я установил

StartTime = datetime.utcnow() - timedelta(seconds = 600),

до 600 секунд вместо 2 дней я смог получить точки данных. Также убедитесь, что регион правильный.

...