

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

# 監控標籤工作狀態
<a name="sms-monitor-cloud-watch"></a>

若要監控標籤工作的狀態，您可以為 Amazon SageMaker Ground Truth (Ground Truth) 設定 [Amazon CloudWatch Events](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-ground-truth) (CloudWatch Events) 規則，以便在標籤工作狀態變更為 `Completed`、`Failed` 或 `Stopped` 或當工作者接受、拒絕、提交或傳回任務時，將事件傳送至 CloudWatch Events。

建立規則後，您可以在其中新增*目標*。CloudWatch Events 使用此目標來叫用其他服務 AWS 來處理事件。例如，您可以使用 Amazon Simple Notification Service (Amazon SNS) 主題來建立目標，以在標籤工作狀態變更時傳送通知至您的電子郵件。

**先決條件：**

若要建立 CloudWatch Events 規則，您將需要已連接 events.amazonaws.com 信任政策的 AWS Identity and Access Management (IAM) 角色。以下是一個 events.amazonaws.com 信任政策的例子。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "events.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**Topics**
+ [將事件傳送至 CloudWatch Events](#sms-cloud-watch-event-rule-setup)
+ [設定目標以處理事件](#sms-cloud-watch-events-labelingjob-notifications)
+ [標籤工作過期](#sms-labeling-job-expiration)
+ [拒絕任務](#sms-decline-tasks)

## 將事件傳送至 CloudWatch Events
<a name="sms-cloud-watch-event-rule-setup"></a>

若要設定 CloudWatch Events 規則以取得 Ground Truth 標籤工作的狀態更新或*事件*，請使用 AWS Command Line Interface (AWS CLI) [https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html](https://docs.aws.amazon.com/cli/latest/reference/events/put-rule.html)命令。您可以依狀態變更來篩選傳送至規則的事件。例如，您可以建立只有在標籤工作狀態變更為 `Completed` 時才通知您的規則。使用 `put-rule` 命令時，請指定下列項目以接收標籤工作狀態：
+ `\"source\":[\"aws.sagemaker\"]`
+ `\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]`

若要將 CloudWatch Events 規則設定為監控所有狀態變更，請使用下列命令並取代預留位置文字。例如，用唯一的 CloudWatch Events 規則名稱取代 `"GTLabelingJobStateChanges"`，用 IAM 角色的 Amazon Resource Number (ARN) 取代 *`"arn:aws:iam::111122223333:role/MyRoleForThisRule"`*，並連接 events.amazonaws.com 信任政策。

```
aws events put-rule --name "GTLabelingJobStateChanges" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]}" 
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region "region"
```

若要依任務狀態篩選，請使用 `\"detail\":{\"LabelingJobStatus\":[\"Status\"]}}"` 語法。`Status` 的有效值為 `Completed`、`Failed` 和 `Stopped`。

下列範例會建立 CloudWatch Events 規則，以在 us-west-2 (奧勒岡) 中的標籤工作變更為 `Completed` 時通知您。

```
aws events put-rule --name "LabelingJobCompleted" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"], \"detail\":{\"LabelingJobStatus\":[\"Completed\"]}}"  
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region us-west-2
```

下列範例會建立 CloudWatch Events 規則，以在 us-east-1 (維吉尼亞) 中的標籤工作變更為 `Completed` 或 `Failed` 時通知您。

```
aws events put-rule --name "LabelingJobCompletedOrFailed" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"], \"detail\":{\"LabelingJobStatus\":[\"Completed\", \"Failed\"]}}"  
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region us-east-1
```

 要瞭解更多關於`put-rule`請求，請參閱[CloudWatch 事件中的事件模式](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html)在*Amazon CloudWatch Events 用戶指南*。

## 設定目標以處理事件
<a name="sms-cloud-watch-events-labelingjob-notifications"></a>

建立規則之後，類似下列內容的事件將傳送至 CloudWatch Events。在此範例中，標籤工作 `test-labeling-job` 的狀態將變更為 `Completed`。

```
{
    "version": "0",
    "id": "111e1111-11d1-111f-b111-1111b11dcb11",
    "detail-type": "SageMaker Ground Truth Labeling Job State Change",
    "source": "aws.sagemaker",
    "account": "111122223333",
    "time": "2018-10-06T12:26:13Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:sagemaker:us-east-1:111122223333:labeling-job/test-labeling-job"
    ],
    "detail": {      
        "LabelingJobStatus": "Completed"
    }
}
```

要處理事件，你需要設置一個目標。例如，如果您希望在標籤工作狀態變更時收到電子郵件，請使用 *Amazon CloudWatch 使用者指南*中的[設定 Amazon SNS 通知](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)，設定 Amazon SNS 主題並訂閱至您的電子郵件。主題建立後，您便可以用來建立目標。

**將目標新增至您的 CloudWatch Events 規則**

1. 開啟 CloudWatch 主控台：[https://console.aws.amazon.com/cloudwatch/home](https://console.aws.amazon.com/cloudwatch/home)

1. 在導覽窗格中，選擇**規則**。

1. 選擇您要新增目標的規則。

1. 選擇**動作**，然後選擇**編輯**。

1. 在**目標**下，選擇**新增目標**，然後選擇在偵測到標記任務狀態變更事件時要採取行動 AWS 的服務。

1. 設定您的目標。如需說明，請參閱該服務的[AWS 文件](https://docs.aws.amazon.com/index.html)中關於設定目標的主題。

1. 選擇**設定詳細資訊**。

1. 在**名稱**中輸入名稱，並在**描述**中提供有關規則用途的詳細資訊 (選擇性)。

1. 請確定**狀態**旁的核取方塊已選取，以便您的規則會列為**已啟用**。

1. 選擇**更新規則**。

## 標籤工作過期
<a name="sms-labeling-job-expiration"></a>

若您的標籤工作在 30 天後仍未完成，它將會過期。如果標籤工作過期，您可以串連工作來建立新的標籤工作，只將未標籤的資料傳送給工作者。如需詳細資訊訊，並了解如何使用串連建立標籤工作，請參閱[鏈結標記任務](sms-reusing-data.md)。

## 拒絕任務
<a name="sms-decline-tasks"></a>

工作者能拒絕任務。

如果指示不清楚、輸入的資料顯示不正確，或者遇到任務的其他問題，工作者可以拒絕該任務。如果每個資料集物件 ([https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-NumberOfHumanWorkersPerDataObject)) 的工作者數量拒絕任務，則資料物件會標記為已過期，且不會傳送給其他工作者。