

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 监控标注作业状态
<a name="sms-monitor-cloud-watch"></a>

要监控标签任务的状态，您可以为 [Amazon Ground Truth（CloudWatch G SageMaker round Truth）设置亚马逊 CloudWatch 事件](https://docs.aws.amazon.com/sagemaker/latest/dg/monitoring-cloudwatch.html#cloudwatch-metrics-ground-truth)（ CloudWatch 事件）规则，以便在标签作业状态更改为`Completed``Failed`、`Stopped`或工作人员接受、拒绝、提交或返回任务时向事件发送事件。

创建规则后，可以向其添加*目标*。 CloudWatch 事件使用此目标来调用其他 AWS 服务来处理事件。例如，您可以使用 Amazon Simple Notification Service (Amazon SNS) 主题创建目标，以便在标注作业状态发生更改时向您发送电子邮件通知。

**先决条件：**

要创建 CloudWatch 事件规则，您需要一个附有 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 事件](#sms-cloud-watch-event-rule-setup)
+ [设置目标以处理事件](#sms-cloud-watch-events-labelingjob-notifications)
+ [标注作业过期](#sms-labeling-job-expiration)
+ [拒绝任务](#sms-decline-tasks)

## 向事件发送 CloudWatch 事件
<a name="sms-cloud-watch-event-rule-setup"></a>

要配置 CloudWatch 事件规则以获取您的 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 事件规则以监视所有状态变化，请使用以下命令并替换占位符文本。例如，替换`"GTLabelingJobStateChanges"`为唯一 CloudWatch 的事件规则名称，替换为*`"arn:aws:iam::111122223333:role/MyRoleForThisRule"`*附有 events.amazonaws.com 信任策略的 IAM 角色的亚马逊资源编号 (ARN)。

```
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 事件规则，当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 事件规则，当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`请求的更多信息，请参阅 *Amazon Events 用户指南中的 CloudWatch CloudWatch 事件*[模式](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html)。

## 设置目标以处理事件
<a name="sms-cloud-watch-events-labelingjob-notifications"></a>

创建规则后，将向事件发送与以下内容类似 CloudWatch 的事件。在此示例中，标注作业 `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"
    }
}
```

要处理事件，您需要设置目标。例如，如果您想在贴标任务状态发生变化时收到一封电子邮件，请使用亚马逊* CloudWatch 用户指南中[设置亚马逊 SNS 通知](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)中的步骤来设置 A* mazon SNS 主题并订阅您的电子邮件。创建主题后，可以使用该主题创建目标。

**向 “ CloudWatch 事件” 规则添加目标**

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)) 拒绝任务，则该数据对象将被标记为过期，并且不会发送给其他工作人员。