

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

# Amazon CloudWatch Events 在 Amazon Agumented AI 中使用
<a name="a2i-cloudwatch-events"></a>

当人工审核循环状态更改为`Completed`、`Failed`或时，Amazon Agumented AI 使用亚马逊 CloudWatch 事件提醒您`Stopped`。此事件至少保证传送一次，这意味着在人工循环完成时创建的所有事件都将成功传递到 CloudWatch 事件 (Amazon EventBridge)。当审阅循环变为其中一种状态时，Augmented AI 会向 CloudWatch 事件发送一个类似于以下内容的事件。

```
{
    "version":"0",
    "id":"12345678-1111-2222-3333-12345EXAMPLE",
    "detail-type":"SageMaker A2I HumanLoop Status Change",
    "source":"aws.sagemaker",
    "account":"1111111111111",
    "time":"2019-11-14T17:49:25Z",
    "region":"us-east-1",
    "resources":["arn:aws:sagemaker:us-east-1:111111111111:human-loop/humanloop-nov-14-1"],
    "detail":{
        "creationTime":"2019-11-14T17:37:36.740Z",
        "failureCode":null,
        "failureReason":null,
        "flowDefinitionArn":"arn:aws:sagemaker:us-east-1:111111111111:flow-definition/flowdef-nov-12",
        "humanLoopArn":"arn:aws:sagemaker:us-east-1:111111111111:human-loop/humanloop-nov-14-1",
        "humanLoopName":"humanloop-nov-14-1",
        "humanLoopOutput":{ 
            "outputS3Uri":"s3://customer-output-bucket-specified-in-flow-definition/flowdef-nov-12/2019/11/14/17/37/36/humanloop-nov-14-1/output.json"
        },
        "humanLoopStatus":"Completed"
    }
}
```

JSON 输出中的详细信息包括以下内容：

`creationTime`  
Augmented AI 创建人工循环时的时间戳。

`failureCode`  
表示特定失败类型的失败代码。

`failureReason`  
人工循环失败的原因。仅当人工审核循环状态为 `failed` 时，才会返回失败原因。

`flowDefinitionArn`  
流定义的 Amazon 资源名称 (ARN) 或*人工审核工作流*。

`humanLoopArn`  
人工循环的 Amazon 资源名称 (ARN)。

`humanLoopName`  
人工循环的名称。

`humanLoopOutput`  
包含人工循环输出相关信息的对象。

`outputS3Uri`  
Augmented AI 存储人工循环输出的 Amazon S3 对象的位置。

`humanLoopStatus`  
人工循环的状态。

## 将事件从你的人类循环发送到 CloudWatch 事件
<a name="a2i-cloud-watch-events-rule-setup"></a>

要配置 CloudWatch 事件规则以获取您的 Amazon A2I 人工循环的状态更新或*事件*，请使用 Amazon Command Line Interface (Amazon CLI) [https://docs.amazonaws.cn/cli/latest/reference/events/put-rule.html](https://docs.amazonaws.cn/cli/latest/reference/events/put-rule.html)命令。在使用 `put-rule` 命令时，请指定以下内容来接收人工循环状态：
+ `\"source\":[\"aws.sagemaker\"]`
+ `\"detail-type\":[\"SageMaker A2I HumanLoop Status Change\"]`

要配置 CloudWatch 事件规则以监视所有状态变化，请使用以下命令并替换占位符文本。例如，替换`"A2IHumanLoopStatusChanges"`为唯一 CloudWatch 的事件规则名称，替换为*`"arn:aws:iam::111122223333:role/MyRoleForThisRule"`*附有 events.amazonaws.com 信任策略的 IAM 角色的亚马逊资源编号 (ARN)。*region*替换为要在其中创建规则的 Amazon 区域。

```
aws events put-rule --name "A2IHumanLoopStatusChanges" 
    --event-pattern "{\"source\":[\"aws.sagemaker\"],\"detail-type\":[\"SageMaker A2I HumanLoop Status Change\"]}" 
    --role-arn "arn:aws:iam::111122223333:role/MyRoleForThisRule" 
    --region "region"
```

要了解有关`put-rule`请求的更多信息，请参阅 *Amazon Events 用户指南中的 CloudWatch CloudWatch 事件*[模式](https://docs.amazonaws.cn/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html)。

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

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

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

1. 打开控制 CloudWatch 台：[https://console.amazonaws.cn/cloudwatch/home](https://console.amazonaws.cn/cloudwatch/home)

1. 在导航窗格中，选择**规则**。

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

1. 选择**操作**，然后选择**编辑**。

1. 在 “**目标**” 下，选择 “**添加目标**”，然后选择检测到人为循环状态更改事件时要执行的 Amazon 服务。

1. 配置您的目标。有关说明，请参阅[该服务的Amazon 文档](https://docs.amazonaws.cn/index.html)中有关配置目标的主题。

1. 选择**配置详细信息**。

1. 对于**名称**，输入一个名称并（可选）在**描述**中提供有关规则用途的详细信息。

1. 请确保选中**状态**旁边的复选框，以便您的规则以**已启用**状态列出。

1. 选择**更新规则**。

## 使用人工审核输出
<a name="using-human-review-output"></a>

收到人工审核结果后，您可以分析结果并将其与机器学习预测进行比较。存储在 Amazon S3 存储桶中的 JSON 包含机器学习预测和人工审核结果。

## 更多信息
<a name="amazon-augmented-ai-programmatic-walkthroughs"></a>

[亚马逊 A SageMaker I 发送给亚马逊的事件 EventBridge](automating-sagemaker-with-eventbridge.md)