本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控标记作业状态
要监控标记作业的状态,您可以为 (Amazon CloudWatch Events) 设置CloudWatch EventsAmazon SageMaker Ground Truth一条 (Ground Truth) 规则,以便在标记作业状态更改为 CloudWatch
Events、 Completed
或 Failed
时向 发送事件Stopped
。
创建一个规则后,可以向该规则添加一个目标。CloudWatch Events 使用此目标调用另一个 AWS 服务来处理事件。例如,您可以使用 Amazon Simple Notification Service (Amazon SNS) 主题创建目标,以便在标记作业状态发生更改时向您发送电子邮件通知。
先决条件:
要创建 CloudWatch Events 规则,您将需要一个附加了 events.amazonaws.com 信任策略的 AWS Identity and Access Management (IAM) 角色。以下是 events.amazonaws.com 信任策略的示例。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
向 CloudWatch Events 发送事件
要配置CloudWatch Events规则以获取标记作业的状态更新或事件Ground Truth,请使用 AWS Command Line Interface (AWS CLI) put-rule
命令。可以按照状态更改筛选发送到您的规则的事件。例如,您可以创建一个规则,以仅在标记作业状态变为 Completed
时向您发送通知。在使用 put-rule
命令时,请指定以下内容来接收标记作业状态:
-
\"source\":[\"aws.sagemaker\"]
-
\"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]
要配置 CloudWatch Events 规则以监控所有状态更改,请使用以下命令并替换占位符文本。例如,将
替换为唯一的CloudWatch Events规则名称和 "GTLabelingJobStateChanges"
附加了 events.amazonaws.com 信任策略的 IAM 角色的 Amazon 资源编号 (ARN)。
“arn:aws:iam::111122223333:role/MyRoleForThisRule”
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 事件中的事件模式Amazon CloudWatch Events 用户指南。
设置目标以处理事件
创建规则后,与以下内容类似的事件将发送到 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 SNS 通知中的过程Amazon CloudWatch 用户指南设置 主题并为您的电子邮件订阅该Amazon SNS主题。创建主题后,可以使用该主题创建目标。
向 CloudWatch Events 规则添加目标
-
打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/home
-
在导航窗格中,选择 Rules (规则)。
-
选择要将目标添加到的规则。
-
选择 Actions,然后选择 Edit。
-
在 Targets (目标) 下,选择 Add Target (添加目标),然后选择要在检测到标记作业状态更改事件时使用的 AWS 服务。
-
配置您的目标。有关说明,请参阅该服务的 AWS 文档中有关配置目标的主题。
-
选择 Configure details。
-
对于 Name (名称),输入一个名称并(可选)在 Description (描述) 中提供有关规则用途的详细信息。
-
请确保选中 State (状态) 旁边的复选框,以便您的规则以 Enabled (已启用) 状态列出。
-
选择 Update rule (更新规则)。
标记作业过期
如果您的标记作业在 30 天后未完成,则会过期。如果标记作业过期,您可以链接作业以创建一个新的标记作业,该作业只会向工作人员发送未标记的数据。有关更多信息以及如何使用链接创建标记作业,请参阅 链接标记作业。
描述任务
工作人员可以拒绝任务。
如果说明不清晰、输入数据显示不正确或者工作线程遇到任务的其他一些问题,则工作人员会拒绝任务。如果每个数据集对象 (NumberOfHumanWorkersPerDataObject
) 的工作线程数拒绝任务,则数据对象将标记为已过期,并且不会发送到其他工作线程。