监控标记作业状态 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

监控标记作业状态

要监控标记作业的状态,您可以设置一个Amazon CloudWatch Events(CloudWatch Events)规则,当标签作业状态更改为时,Amazon SageMaker Ground Truth 面真相(Ground Truth)将事件发送到 CloudWatch EventCompletedFailed,或者Stopped或者当工作人员接受、拒绝、提交或返回任务时。

创建规则后,您可以添加规则目标对它来说。CloudWatch Event 使用此目标调用另一个目标Amazon处理事件的服务。例如,您可以使用 Amazon Simple Notification Service (Amazon SNS) 主题创建目标,以便在标记作业状态发生更改时向您发送电子邮件通知。

先决条件:

要创建 CloudWatch Events 规则,您将需要一个Amazon Identity and Access Management附加了 events.amazonaws.com 信任策略的 (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 标签工作,请使用Amazon Command Line Interface(Amazon CLI)put-rule命令。可以按照状态更改筛选发送到您的规则的事件。例如,您可以创建一个规则,以仅在标记作业状态变为 Completed 时向您发送通知。在使用 put-rule 命令时,请指定以下内容来接收标记作业状态:

  • \"source\":[\"aws.sagemaker\"]

  • \"detail-type\":[\"SageMaker Ground Truth Labeling Job State Change\"]

要配置 CloudWatch Events 规则以监控所有状态更改,请使用以下命令并替换占位符文本。例如,将替换为"GTLabelingJobStateChanges"使用唯一的 CloudWatch Event 规则名称以及"arn:aws:iam::111122223333:role/MyRoleForThisRule"并附加了 events.amazonaws.com 信任策略的 IAM 角色的 Amazon 资源编号 (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 的有效值为 CompletedFailedStopped

以下示例创建 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 Events 中的事件模式中的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 规则添加目标

  1. 打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/home

  2. 在导航窗格中,选择 Rules (规则)

  3. 选择要将目标添加到的规则。

  4. 选择 Actions,然后选择 Edit

  5. Targets (目标) 下,选择 Add Target (添加目标),然后选择要在检测到标记作业状态更改事件时使用的 Amazon 服务。

  6. 配置您的目标。有关说明,请参阅中有关配置目标的主题。Amazon该服务的文档.

  7. 选择 Configure details (配置详细信息)

  8. 对于 Name (名称),输入一个名称并(可选)在 Description (描述) 中提供有关规则用途的详细信息。

  9. 请确保选中 State (状态) 旁边的复选框,以便您的规则以 Enabled (已启用) 状态列出。

  10. 选择 Update rule (更新规则)

标记作业过期

如果您的标记作业在 30 天后未完成,则会过期。如果标记作业过期,您可以链接作业以创建一个新的标记作业,该作业只会向工作人员发送未标记的数据。有关更多信息以及如何使用链接创建标记作业,请参阅 链接标记作业

拒绝任务

工作人员能够拒绝任务。

如果说明不清楚、输入数据不正确显示或遇到任务的其他问题,工作人员会拒绝任务。如果每个数据集对象的工作人员数量 (NumberOfHumanWorkersPerDataObject) 拒绝任务,数据对象被标记为已过期且不会发送给其他工作人员。