

# Como dados parciais são tratados
<a name="cloudwatch-metrics-insights-alarms-partial-data"></a>

## Como os dados parciais de uma consulta do Metrics Insights são avaliados
<a name="cloudwatch-metrics-insights-query-evaluation"></a>

Se a consulta ao Metrics Insights usada para o alarme corresponder a mais de 10.000 métricas, o alarme será avaliado com base nas primeiras 10.000 métricas encontradas pela consulta. Isso significa que o alarme está sendo avaliado com base em dados parciais.

Você pode usar os métodos a seguir para descobrir se um alarme do Metrics Insights está avaliando seu estado de alarme com base em dados parciais: 
+ No console, se você escolher um alarme para ver a página **Details** (Detalhes), a mensagem **Evaluation warning: Not evaluating all data** (Aviso da avaliação: nem todos os dados estão sendo avaliados) será exibida nessa página.
+ Você vê o valor `PARTIAL_DATA` no campo `EvaluationState` quando usa o comando [describe-alarms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/describe-alarms.html?highlight=describe%20alarms) da AWS CLI ou a API [DescribeAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html).

Os alarmes também publicam eventos no Amazon EventBridge quando ele entra no estado de dados parciais, para que você possa criar uma regra do EventBridge para observar esses eventos. Nesses eventos, o campo `evaluationState` tem o valor `PARTIAL_DATA`. Veja um exemplo a seguir.

```
{
    "version": "0",
    "id": "12345678-3bf9-6a09-dc46-12345EXAMPLE",
    "detail-type": "CloudWatch Alarm State Change",
    "source": "aws.cloudwatch",
    "account": "123456789012",
    "time": "2022-11-08T11:26:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:cloudwatch:us-east-1:123456789012:alarm:my-alarm-name"
    ],
    "detail": {
        "alarmName": "my-alarm-name",
        "state": {
            "value": "ALARM",
            "reason": "Threshold Crossed: 3 out of the last 3 datapoints [20000.0 (08/11/22 11:25:00), 20000.0 (08/11/22 11:24:00), 20000.0 (08/11/22 11:23:00)] were greater than the threshold (0.0) (minimum 1 datapoint for OK -> ALARM transition).",
            "reasonData": "{\"version\":\"1.0\",\"queryDate\":\"2022-11-08T11:26:05.399+0000\",\"startDate\":\"2022-11-08T11:23:00.000+0000\",\"period\":60,\"recentDatapoints\":[20000.0,20000.0,20000.0],\"threshold\":0.0,\"evaluatedDatapoints\":[{\"timestamp\":\"2022-11-08T11:25:00.000+0000\",\"value\":20000.0}]}",
            "timestamp": "2022-11-08T11:26:05.401+0000",
            "evaluationState": "PARTIAL_DATA"
        },
        "previousState": {
            "value": "INSUFFICIENT_DATA",
            "reason": "Unchecked: Initial alarm creation",
            "timestamp": "2022-11-08T11:25:51.227+0000"
        },
        "configuration": {
            "metrics": [
                {
                    "id": "m2",
                    "expression": "SELECT SUM(PartialDataTestMetric) FROM partial_data_test",
                    "returnData": true,
                    "period": 60
                }
            ]
        }
    }
}
```

Se a consulta para o alarme incluir uma instrução GROUP BY que retorne inicialmente mais de 500 séries temporais, o alarme será avaliado com base nas primeiras 500 séries temporais encontradas pela consulta. Porém, se você usar uma cláusula ORDER BY, todas as séries temporais que a consulta encontrar serão classificadas, e as 500 com os valores mais altos ou mais baixos, de acordo com sua cláusula ORDER BY, serão usadas para avaliar o alarme. 

## Como dados parciais de um alarme com várias fontes de dados são avaliados
<a name="multi-data-source-partial-data"></a>

Se a função do Lambda retornar dados parciais:
+ O alarme continua a ser avaliado nos pontos de dados retornados.
+ É possível usar os métodos a seguir para descobrir se um alarme em uma função do Lambda está avaliando seu estado de alarme com base em dados parciais:
  + No console, escolha um alarme e escolha a página **Detalhes**. Se você vir a mensagem **Aviso de avaliação: Não avaliando todos os dados** surgir nessa página, ela está avaliando dados parciais.
  + Se você vir o valor `PARTIAL_DATA` no campo `EvaluationState` ao usar o comando `describe-alarms` da AWS CLI ou a API DescribeAlarms, ele está avaliando com base em dados parciais.
+ Um alarme também publica eventos no Amazon EventBridge ao entrar no estado de dados parciais.