

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

# 将数据发送到流式标注作业


使用输入清单文件创建流式标注作业时，您可以选择一次性向该作业提交输入数据。一旦标注作业启动且状态为 `InProgress`，您就可以使用 Amazon SNS 输入主题和 Amazon S3 事件通知向标注作业实时提交新的数据对象。

***启动标注作业时提交数据对象（一次性）：***
+ **使用输入清单文件** – 创建流式标注作业时，您可以选择在 `ManifestS3Uri` 中指定输入清单文件 Amazon S3 URI。在标注作业开始后，Ground Truth 会立即将清单文件中的每个数据对象发送给工作人员以进行标注。要了解更多信息，请参阅[创建清单文件（可选）](sms-streaming-manifest.md)。

  提交创建流式标注作业的请求后，作业状态将为 `Initializing`。标注作业处于活动状态后，状态将更改为 `InProgress`，您可以开始使用实时选项提交其他数据对象以进行标注。

***实时提交数据对象：***
+ **使用 Amazon SNS 消息发送数据对象** – 您可以通过发送 Amazon SNS 消息，向 Ground Truth 发送要标注的新数据对象。您将向 Amazon SNS 输入主题发送此消息，该主题由您在创建流式标注作业时创建和指定。有关更多信息，请参阅 [使用 Amazon SNS 发送数据对象](#sms-streaming-how-it-works-sns)。
+ **通过将数据对象放入 Amazon S3 存储桶来发送数据对象** – 每次向 Amazon S3 存储桶添加新数据对象时，都可以提示 Ground Truth 处理该对象以进行标注。为此，您可以向存储桶添加事件通知，以便在每次向该存储桶添加（或*在其中创建*）新对象时通知 Amazon SNS 输入主题。有关更多信息，请参阅 [使用 Amazon S3 发送数据对象](#sms-streaming-how-it-works-s3)。此选项不适用于基于文本的标注作业，例如文本分类和命名实体识别。
**重要**  
如果您使用 Amazon S3 配置，请不要将相同的 Amazon S3 位置用于输入数据配置和输出数据。在创建标注作业时，可以为输出数据指定 S3 前缀。

## 使用 Amazon SNS 发送数据对象


您可以使用 Amazon Simple Notification Service (Amazon SNS) 向流式标注作业发送数据对象。Amazon SNS 是一项网络服务，用于协调和管理与*终端节点*（例如，电子邮件地址或 Amazon Lambda 函数）之间的消息传输。Amazon SNS *主题*是两个或多个端点之间的通信渠道。您可以使用 Amazon SNS 将新数据对象发送或*发布*到 `InputConfig` 中的 [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 参数 `SnsTopicArn` 指定的主题。这些消息的格式与[输入清单文件](https://docs.amazonaws.cn/sagemaker/latest/dg/sms-data-input.html)的单行格式相同。

例如，您可以将一段文本发布到输入主题，从而将其发送到活动文本分类标注作业。您发布的消息可能类似于以下内容：

```
{"source": "Lorem ipsum dolor sit amet"}
```

要将新的图像对象发送到图像分类标注作业，您的消息可能类似于以下内容：

```
{"source-ref": "s3://amzn-s3-demo-bucket/example-image.jpg"}
```

**注意**  
您还可以在您的 Amazon SNS 消息中包含自定义重复数据删除 IDs 和重复数据删除密钥。要了解更多信息，请参阅[重复消息处理](sms-streaming-impotency.md)。

Ground Truth 创建流式标注作业时，会订阅 Amazon SNS 输入主题。

## 使用 Amazon S3 发送数据对象


您可以将一个或多个新数据对象放入配置了 Amazon SNS 事件通知的 Amazon S3 存储桶中，从而将这些对象发送到流式标注作业。您可以设置一个事件，以便在存储桶中创建新对象时随时通知 Amazon SNS 输入主题。您必须在 `InputConfig` 中的 [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 参数 `SnsTopicArn` 中指定相同的 Amazon SNS 输入主题。

每次配置 Amazon S3 存储桶向 Amazon SNS 发送通知时，Ground Truth 都会发布一个测试事件 `"s3:TestEvent"`，以确保主题存在，且指定的 Amazon S3 存储桶所有者有权向指定主题发布通知。建议您在开始流式标注作业之前设置 Amazon S3 与 Amazon SNS 的连接。如果不这样做，此测试事件可能会注册为数据对象，并发送到 Ground Truth 进行标注。

**重要**  
如果您使用 Amazon S3 配置，请不要将相同的 Amazon S3 位置用于输入数据配置和输出数据。在创建标注作业时，可以为输出数据指定 S3 前缀。  
对于基于图像的标注作业，Ground Truth 要求所有 S3 存储桶都附加 CORS 策略。要了解更多信息，请参阅[输入映像数据的 CORS 要求](sms-cors-update.md)。

配置 Amazon S3 存储桶并创建标注作业后，可以向存储桶中添加对象，然后 Ground Truth 会将该对象发送给工作人员，或将该对象置于 Amazon SQS 队列中。

要了解更多信息，请参阅[根据在标注作业中定义的 Amazon SNS 创建基于 Amazon S3 的存储桶事件通知](sms-streaming-s3-setup.md)。

**重要**  
此选项不适用于基于文本的标注作业，例如文本分类和命名实体识别。