

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 如何處理部分資料
<a name="cloudwatch-metrics-insights-alarms-partial-data"></a>

## 如何評估 Metrics Insights 查詢中的部分資料
<a name="cloudwatch-metrics-insights-query-evaluation"></a>

如果用於警示的 Metrics Insights 查詢與 10,000 個以上指標相符，則會根據查詢找到的前 10,000 個指標來評估警示。這表示系統正在依據部分資料評估警示。

您可以使用下列方法了解 Metrics Insights 警示目前是否正在根據部分資料評估其警示狀態：
+ 在主控台中，若您選擇某個警示以查看 **Details** (詳細資料) 頁面，則該頁面上會顯示 **Evaluation warning: Not evaluating all data** (評估警告：未評估所有資料) 訊息。
+ 當您使用 [ describe-alarms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudwatch/describe-alarms.html?highlight=describe%20alarms) AWS CLI 命令或 [ DescribeAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_DescribeAlarms.html) API `EvaluationState`時，您會在 `PARTIAL_DATA` 欄位中看到 值。

當警示進入部分資料狀態時，警示也會將事件發布至 Amazon EventBridge，如此一來，您便可建立 EventBridge 規則來監看這些事件。在這些事件中，`evaluationState` 欄位的值為 `PARTIAL_DATA`。下列是 範例。

```
{
    "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
                }
            ]
        }
    }
}
```

若警示的查詢包含 GROUP BY 陳述式，且該陳述式初始傳回超過 500 個時間序列，則系統會根據查詢找到的前 500 個時間序列來評估警示。不過，若您使用 ORDER BY 子句，則系統會排序查詢找到的所有時間序列，且會根據您的 ORDER BY 子句，使用有最高或最低值的 500 個時間序列來評估警示。

## 如何評估來自多資料來源警示的部分資料
<a name="multi-data-source-partial-data"></a>

如果 Lambda 函式傳回部分資料：
+ 系統將根據傳回的資料點持續評估警示。
+ 可以使用下列方法，了解 Lambda 函式警示目前是否正在根據部分資料評估其警示狀態：
  + 在主控台中，選擇警示，然後選擇**詳細資訊**頁面。如果您看到訊息**評估警告：未評估該頁面上顯示的所有資料**，表示正在評估部分資料。
  + 如果您在使用 `describe-alarms` AWS CLI 命令或 DescribeAlarms API 時，在 `EvaluationState` `PARTIAL_DATA`欄位中看到 值，則會評估部分資料。
+ 當警示進入部分資料狀態時，也會將事件發布至 Amazon EventBridge。