Я создал таблицу в cloudwatch и хотел бы вставить новый элемент, только если все те же три поля не были вставлены за последний час. Вот текущий статус моей таблицы: Текущий статус метрики c
Я вставил информацию, используя Python и API put_metric_data:
cloudwatch = boto3.client('cloudwatch')
response = cloudwatch.put_metric_data(
MetricData=[
{
'MetricName': 'Counter',
'Dimensions': [
{
'Name': 'Name',
'Value': "Bob"
},
{
'Name': 'accountId',
'Value': "222"
},
{
'Name': 'Pet',
'Value': "Cat"
},
],
'Unit': 'Count',
'Value': 1
},
],
Namespace='Test_table'
)
Как только появляется новая запись, я пытаюсь проверить, была ли она уже вставлена за последние 60 минут, используя get_metric_data, но пока безуспешно:
response = cloudwatch.get_metric_data(
MetricDataQueries=[
{
"Id": "my_id",
"MetricStat": {
"Metric": {
"Namespace": "Test_table",
"MetricName": "Counter",
"Dimensions": [
{
"Name": "Name",
"Value": "first_name"
},
{
"Name": "accountId",
"Value": "Bank_id"
},
{
"Name": "Pet",
"Value": "Pet_type"
}
]
},
"Period": 300,
"Stat": "Sum",
"Unit": "None"
},
},
],
StartTime=datetime.datetime.now() - datetime.timedelta(hours=24),
EndTime=datetime.datetime.now(),
)
Что я здесь делаю не так? Есть ли более эффективный способ сделать это?