View a markdown version of this page

監控標籤工作狀態 - Amazon SageMaker AI

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

監控標籤工作狀態

若要監控標籤工作的狀態,您可以為 Amazon SageMaker Ground Truth (Ground Truth) 設定 Amazon CloudWatch Events (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" } ] }

將事件傳送至 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",用 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 事件中的事件模式在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 CloudWatch 使用者指南中的設定 Amazon SNS 通知,設定 Amazon SNS 主題並訂閱至您的電子郵件。主題建立後,您便可以用來建立目標。

將目標新增至您的 CloudWatch Events 規則
  1. 開啟 CloudWatch 主控台:https://console.aws.amazon.com/cloudwatch/home

  2. 在導覽窗格中,選擇規則。

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

  4. 選擇動作,然後選擇編輯。

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

  6. 設定您的目標。如需說明,請參閱該服務的AWS 文件中關於設定目標的主題。

  7. 選擇設定詳細資訊。

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

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

  10. 選擇更新規則。

標籤工作過期

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

拒絕任務

工作者能拒絕任務。

如果指示不清楚、輸入的資料顯示不正確,或者遇到任務的其他問題,工作者可以拒絕該任務。如果每個資料集物件 (NumberOfHumanWorkersPerDataObject) 的工作者數量拒絕任務,則資料物件會標記為已過期,且不會傳送給其他工作者。