AWS Cloudwatch GetMetricResult: при выполнении математического выражения metri c состояние = Partial Data, но NextToken не возвращается (отсутствует)? - PullRequest
0 голосов
/ 24 апреля 2020

документация AWS SDK (https://docs.amazonaws.cn/en_us/AmazonCloudWatch/latest/APIReference/API_MetricDataResult.html) содержит небольшую подсказку об отсутствии NextToken - если в запросе было указано математическое выражение metri c, NextToken возвращаться не будет.

Но в то же время в нем также говорится, что если мы запрашиваем огромный объем данных и возвращаем неполный набор точек данных, код состояния будет равен PartialData, а значение NextToken будет возвращено, что позволит нам повторить запрос (ы), чтобы получить больше точек данных.

Запрос больше не может быть обработан, потому что отсутствует NextToken ...

Что делать, если вы выполняете метрику c математическое выражение, код состояния отображается как частичные данные, но NextToken не возвращается (отсутствует)?

1 Ответ

0 голосов
/ 24 апреля 2020

Очевидно, что подсказка о математическом выражении имеет абсолютный приоритет над кодом состояния PartialData, что приводит к отсутствию NextToken. Другими словами, если у вас есть огромное количество метрических c данных и математическое выражение, вы должны убедиться, что все данные будут возвращены за один прием в оба конца без нумерации страниц.

По возможности, следуйте рекомендациям чтобы избежать разбивки на страницы (статус PartialData) для решения задачи:

1) Просмотрите код, чтобы избежать каких-либо ограничений точек данных - попробуйте использовать значение по умолчанию.

By default, data points are limited to 100800 ones in total (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_GetMetricData.html).
Limiting the data points may leads to pagination, thus leading to PartialData.

2) Попробуйте уменьшить количество запрошенных метрик

3) Сократите временной интервал (держите StartTime и EndTime близко друг к другу) для вашего запроса, чтобы уменьшить количество точек данных.

4) Если вы можете ' t Сократить временные рамки, попробуйте увеличить период метри c до более высокого значения - например, 1 час вместо 5 минут. Он агрегирует результат, уменьшая количество точек данных.

Удачи!

...