

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

# 创建标注作业
<a name="sms-create-labeling-job"></a>

您可以在 Amazon A SageMaker I 控制台中创建标签任务，也可以使用首选语言的 AWS 软件开发工具包来运行`CreateLabelingJob`。在创建标记作业后，您可以使用 [CloudWatch](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-monitor-cloud-watch.html) 跟踪工作人员指标（对于私有人力）和标记作业状态。

在创建标注作业之前，建议您查看以下页面（如果适用）：
+ 您可以在控制台中使用自动数据设置来指定输入数据，也可以在控制台中或使用 `CreateLabelingJob` API 指定输入清单文件。有关自动数据设置，请参阅[自动设置标注作业的数据](sms-console-create-manifest-file.md)。要了解如何创建输入清单文件，请参阅[输入清单文件](sms-input-data-input-manifest.md)。
+ 查看标注作业输入数据限额：[输入数据限额](input-data-limits.md)。

在选择任务类型后，请使用该页面上的主题以了解如何创建标注作业。

如果您是新的 Ground Truth 用户，我们建议您先查看[入门：使用 Ground Truth 创建边界框标注作业](sms-getting-started.md)中的演示。

**重要**  
Ground Truth 要求所有包含标注作业输入图像数据的 S3 存储桶都附加 CORS 策略。要了解更多信息，请参阅[输入映像数据的 CORS 要求](sms-cors-update.md)。

**Topics**
+ [内置任务类型](sms-task-types.md)
+ [创建说明页](sms-creating-instruction-pages.md)
+ [创建标注作业（控制台）](sms-create-labeling-job-console.md)
+ [创建标注作业 (API)](sms-create-labeling-job-api.md)
+ [创建流式标注作业](sms-streaming-create-job.md)
+ [带有标签类别和框架属性参考的标注类别配置文件](sms-label-cat-config-attributes.md)

# 内置任务类型
<a name="sms-task-types"></a>

Amazon SageMaker Ground Truth 有几种内置的任务类型。Ground Truth 为内置任务类型提供了一个工作人员任务模板。此外，一些内置的任务类型支持[自动数据标注](sms-automated-labeling.md)。以下主题介绍了每种内置任务类型，并在控制台中演示由 Ground Truth 提供的工作人员任务模板。要了解如何在控制台中使用这些任务类型之一创建标注作业，请选择任务类型页面。


****  

| 标注图像 | 标注文本 | 标注视频和视频帧 | 标注 3D 点云 | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/sms-task-types.html)  | 

**注意**  
每种视频帧和 3D 点云任务类型都有*调整*任务类型，您可以用该任务类型来验证和调整前一个标注作业中的标签。选择上面的视频帧或 3D 点云任务类型页面，了解如何调整使用该任务类型创建的标签。

# 创建说明页
<a name="sms-creating-instruction-pages"></a>

创建有关标注作业的自定义说明，以提高工作人员完成其任务的准确性。您可以修改控制台中提供的默认说明，也可以创建自己的说明。这些说明将显示在工作人员在其中完成标注任务的页面上。

说明分为两种：
+ *简短说明* – 显示在工作人员完成其任务的相同网页上的说明。这些说明应提供简单的参考内容，向工作人员显示标注对象的正确方法。
+ *完整说明* – 显示在对话框中且覆盖工作人员完成其任务所在页面的说明。如果要完成的任务使用多个示例来显示边缘情况和其他难以标注对象的情况，我们建议您提供详细说明。

当您创建标注作业时在控制台中创建说明。从任务的现有说明开始，然后使用编辑器对其进行修改以适合您的标注作业。

**注意**  
创建标注作业后，该作业将自动启动，并且您无法修改工作人员说明。如果您需要更改工作人员说明，请在创建新作业之前停止创建的标注作业、克隆该作业并修改工作人员说明。  
您可以在控制台中克隆标注作业，方法是选择标注作业，然后在**操作**菜单中选择**克隆**。  
要使用 Amazon SageMaker API 或首选 Amazon SageMaker SDK 克隆标注作业，请在修改工作人员说明后，使用与原始作业相同的规范向 `CreateLabelingJob` 操作发出新请求。

对于 3D 点云和视频帧标注作业，可以将工作人员说明添加到标签类别配置文件中。您可以使用单个字符串以创建说明，也可以添加 HTML 标记以自定义说明外观和添加图像。确保您在说明中包含的任何映像是公开可用的，如果说明位于 Amazon S3 中，请确保工作人员具有读取访问权限，以便他们可以查看这些说明。有关标注类别配置文件的更多信息，请参阅 [带有标签类别和框架属性参考的标注类别配置文件](sms-label-cat-config-attributes.md)。

## 简短说明
<a name="sms-creating-quick-instructions"></a>

简短说明出现在工作人员用于标注数据对象的同一个网页上。例如，下面是边界框任务的编辑页面。简短说明面板位于左侧。

![\[\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sms-instructions-10.png)


请记住，工作人员只会花数秒时间查看简短说明。工作人员必须能够快速扫描并理解您的信息。在所有情况下，了解说明所花的时间都应少于完成任务所需的时间。请记住以下几点：
+ 您的说明应简单明确。
+ 图片比文字效果更好。为任务创建工作人员可以即刻理解的简单插图。
+ 如果您必须使用文字，请使用简明的示例。
+ 您的简短说明比完整说明更重要。

Amazon SageMaker Ground Truth 控制台提供了一个编辑器，以便您可以创建简短说明。用任务说明替换占位符文本和图像。通过选择**预览**以预览工作人员的任务页面。预览将在新窗口中打开，请确保关闭弹出窗口拦截功能，以便窗口能够显示。

## 完整说明
<a name="sms-creating-full-instructions"></a>

您可以在一个对话框（覆盖工作人员标注数据对象所在的页面）中为您的工作人员提供额外的说明。使用完整说明解释更复杂的任务，并向工作人员显示标注边缘案例或其他困难对象的正确方法。

您可以在 Ground Truth 控制台中使用编辑器创建完整说明。对于快速说明，请记住以下事项：
+ 工作人员在前几次完成任务时需要详细说明。他们*必须*具有的任何信息都应出现在快速说明中。
+ 图片比文字更重要。
+ 文本应简明。
+ 完整说明应为简短说明提供补充。请勿重复简短说明中出现的信息。

Ground Truth 控制台提供了一个编辑器，以便您可以创建完整说明。用任务说明替换占位符文本和图像。通过选择**预览**以预览完整说明页面。预览将在新窗口中打开，请确保关闭弹出窗口拦截功能，以便窗口能够显示。

## 将示例图像添加到您的说明
<a name="sms-using-s3-images"></a>

图像为您的工作人员提供了有用的示例。要将可公开访问的图像添加到您的说明，请执行以下操作：
+ 将光标放在说明编辑器中的所需图像位置。
+ 单击编辑器工具栏中的图像图标。
+ 输入图像的 URL。

如果无法公开访问 Amazon S3 中的说明图像：
+ 作为图像 URL，请输入：`{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}`。
+ 这会提供一个附加了短期一次性访问代码的图像 URL，以便工作人员的浏览器可以显示该图像。将在说明编辑器中显示损坏的图像图标，但在预览该工具时，将在提供的预览中显示该图像。

# 创建标注作业（控制台）
<a name="sms-create-labeling-job-console"></a>

您可以使用 Amazon SageMaker AI 控制台为所有 Ground Truth 内置任务类型和自定义标签工作流程创建标签任务。对于内置任务类型，我们建议您同时使用本页面和[任务类型页面](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)。每个任务类型页面都包含使用该任务类型创建标注作业的具体详细信息。

您需要提供以下内容才能在 SageMaker AI 控制台中创建标签任务：
+ Amazon S3 中的输入清单文件。您可以将输入数据集放置在 Amazon S3 中，并使用 Ground Truth 控制台自动生成清单文件（3D 点云标注作业不支持）。

  或者，您可以手动创建输入清单文件。要了解如何操作，请参阅[输入数据](sms-data-input.md)。
+ 存储输出数据的 Amazon S3 存储桶。
+ 一个 IAM 角色，有权访问您在 Amazon S3 中的资源，并附有 A SageMaker I 执行策略。对于一般解决方案，您可以将托管策略附加到 IAM 角色并包含`sagemaker`在存储桶名称中。 AmazonSageMakerFullAccess

  有关更精细的策略，请参阅[分配 IAM 权限以使用 Ground Truth](sms-security-permission.md)。

  3D 点云任务类型有额外的安全考虑因素。[了解更多](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-general-information.html#sms-security-permission-3d-point-cloud)。
+ 一个工作团队。您可以从 Amazon Mechanical Turk 工作人员、供应商或您自己的私有工作人员组成的人力中创建一个工作团队。要了解更多信息，请参阅[人力](sms-workforce-management.md)。

  您无法将 Mechanical Turk 人力用于 3D 点云或视频帧标注作业。
+ 如果使用自定义标注工作流，则必须在 Amazon S3 中保存工作人员任务模板，并为该模板提供 Amazon S3 URI。有关更多信息，请参阅 [创建自定义工作人员任务模板](sms-custom-templates-step2.md)。
+ （可选）如果您希望 SageMaker AI 使用您自己的加密AWS KMS密钥而不是默认的 Amazon S3 服务密钥来AWS KMS加密标签作业的输出，请使用密钥 ARN。
+ （可选）用于标注作业的数据集的现有标签。如果您希望工作人员调整、批准或拒绝标签，请使用该选项。
+ 如果要创建调整或验证标注作业，则必须在 Amazon S3 中有一个输出清单文件，其中包含要调整或验证的标签。只有边界框和语义分割图像标注作业以及 3D 点云和视频帧标注作业才支持此选项。建议您使用[标签验证和调整](sms-verification-data.md)上的说明创建验证或调整标注作业。

**重要**  
您的工作团队、输入清单文件、输出存储桶和 Amazon S3 中的其他资源必须位于您用于创建标签任务的同一AWS区域。

使用 SageMaker AI 控制台创建标签作业时，可以向 Ground Truth 提供的工作人员用户界面中添加工作人员指令和标签。在控制台中创建标注作业时，您可以预览该工作人员 UI 并与之交互。您还可以在[内置任务类型页面](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)上看到工作人员 UI 的预览。

**创建标注作业（控制台）**

1. 登录 SageMaker AI 控制台，网址为[https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在左侧导航窗格中，选择**标注作业**。

1. 在**标注作业**页面上，选择**创建标注作业**。

1. 对于**作业名称**，请输入标注作业的名称。

1. （可选）如果要使用一个键以标识标签，请选择**我希望指定与标注作业名称不同的标签属性名称**。如果未选择该选项，将使用在上一步中指定的标注作业名称在输出清单文件中标识标签。

1. 选择一个数据设置，以便在输入数据集和 Ground Truth 之间建立连接。
   + 对于**自动数据设置**：
     + 对于图像、文本和视频剪辑标注作业，按照[自动设置标注作业的数据](sms-console-create-manifest-file.md)中的说明操作。
     + 对于视频帧标注作业，按照[设置自动视频帧输入数据](sms-video-automated-data-setup.md)中的说明操作。
   + 对于**手动数据设置**：
     + 对于**输入数据集位置**，请提供输入清单文件在 Amazon S3 中的位置。例如，如果输入清单文件 manifest.json 位于 **example-bucket**，请输入 **s3://example-bucket/manifest.json**。
     + 对于**输出数据集位置**，请提供您希望 Ground Truth 在 Amazon S3 中存储标注作业的输出数据的位置。

1. 对于 **IAM 角色**，请选择现有 IAM 角色或创建一个 IAM 角色，该角色具有访问您在 Amazon S3 中的资源、写入上面指定的输出 Amazon S3 存储桶并附有 A SageMaker I 执行策略的权限。

1. （可选）对于**其他配置**，您可以指定希望工作人员对数据集中的多少进行标注，以及是否希望 SageMaker AI 使用加密密钥对标签作业的输出数据进行AWS KMS加密。要加密您的输出数据，您必须将所需AWS KMS权限附加到您在上一步中提供的 IAM 角色。有关更多详细信息，请参阅[分配 IAM 权限以使用 Ground Truth](sms-security-permission.md)。

1. 在**任务类型**部分的**任务类别**下面，使用下拉列表选择任务类别。

1. 在**任务选择**中，选择任务类型。

1. （可选）为标注作业提供标签，以便以后在控制台中轻松找到该作业。

1. 选择**下一步**。

1. 在**工作人员**部分中，选择您要使用的人力类型。有关人力选项的更多详细信息，请参阅[人力](sms-workforce-management.md)。

1. （可选）在选择人力后，指定**任务超时**。这是为工作人员处理任务提供的最长时间。

   对于 3D 点云注释任务，默认任务超时为 3 天。文本和图像分类以及标签验证标注作业的默认超时为 5 分钟。所有其他标注作业的默认超时为 60 分钟。

1. （可选）对于边界框、语义分割、视频帧和 3D 点云任务类型，如果要显示输入数据集的标签以供工作人员验证或调整，则可以选择**显示现有的标签**。

   对于边界框和语义分割标注作业，这将创建一个调整标注作业。

   对于 3D 点云和视频帧标注作业：
   + 选择**调整**以创建调整标注作业。选择此选项后，您可以添加新标签，但不能删除或编辑前一个作业中的现有标签。您还可以选择希望工作人员编辑的标签类别属性和帧属性。要使某个属性可编辑，请选中此属性对应的复选框**允许工作人员编辑此属性**。

     您还可以选择添加新的标签类别和帧属性。
   + 选择**验证**以创建调整标注作业。选择此选项后，不能添加标签，也不能修改或删除前一个作业中的现有标签。您还可以选择希望工作人员编辑的标签类别属性和帧属性。要使某个属性可编辑，请选中此属性对应的复选框**允许工作人员编辑此属性**。

     我们建议您可以向希望工作人员验证的标签添加新的标签类别属性，或者添加一个或多个帧属性以使工作人员提供有关整个帧的信息。

    有关更多信息，请参阅 [标签验证和调整](sms-verification-data.md)。

1. 配置工作人员 UI：
   + 如果您正在使用[内置任务类型](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)，请指定工作人员说明和标签。
     + 对于图像分类和文本分类（单标签和多标签），必须至少指定两个标签类别。对于所有其他内置任务类型，必须至少指定一个标签类别。
     + （可选）如果要创建 3D 点云或视频帧标注作业，则可以指定标签类别属性（不支持 3D 点云语义分割）和帧属性。可以将标签类别属性分配给一个或多个标签。帧属性将显示在每个点云或视频帧工作人员标签上。要了解更多信息，请参阅[工作人员用户界面 (UI)](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui)（对于 3D 点云）和[工作人员用户界面 (UI)](sms-video-overview.md#sms-video-worker-task-ui)（对于视频帧）。
     + （可选）添加**其他说明**以便于工作人员完成您的任务。
   + 如果要创建自定义标注工作流，则必须：
     + 在代码框中输入[自定义模板](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html)。可以使用 HTML、Liquid 模板语言和我们预先构建的 Web 组件的组合来创建自定义模板。您还可以从下拉菜单中选择一个基本模板以开始使用。
     + 指定注释前和注释后 Lambda 函数。要了解如何创建这些函数，请参阅[使用自定义标签工作流程处理数据 AWS Lambda](sms-custom-templates-step3.md)。

1. （可选）您可以选择**查看预览**以预览工作人员说明和标签，并与工作人员 UI 进行交互。在生成预览之前，请确保浏览器的弹出窗口阻止程序处于禁用状态。

1. 选择**创建**。

在成功创建标注作业后，您将重定向到**标注作业**页面。您刚创建的标注作业的状态为**正在进行**。在工作人员完成任务时，该状态会逐步更新。在成功完成所有任务后，该状态将变为**已完成**。

如果在创建标注作业时出现问题，作业状态将变为**失败**。

要查看有关作业的更多详细信息，请选择标注作业名称。

## 后续步骤
<a name="sms-create-labeling-job-console-next-steps"></a>

在标注作业状态变为**已完成**后，您可以在创建该标注作业时指定的 Amazon S3 存储桶中查看输出数据。有关输出数据格式的详细信息，请参阅[标注作业输出数据](sms-data-output.md)。

# 创建标注作业 (API)
<a name="sms-create-labeling-job-api"></a>

要使用 Amazon SageMaker API 创建贴标任务，请使用[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)操作。有关为内置任务类型创建标注作业的具体说明，请参阅该[任务类型页面](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)。要了解如何创建流式标注作业（这是持续运行的标注作业），请参阅[创建流式标注作业](sms-streaming-create-job.md)。

要使用 `CreateLabelingJob` 操作，您需要以下内容：
+ Amazon S3 中的工作人员任务模板 (`UiTemplateS3Uri`) 或人工任务 UI ARN (`[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`)。
  + 对于 3D 点云作业、视频对象检测和跟踪作业以及 NER 作业，请将 `HumanTaskUiArn` 中列出的 ARN 用于您的任务类型。
  + 如果您使用的是 3D 点云任务以外的内置任务类型，则可以将工作人员说明添加到其中一个预构建的模板中，并将此模板（使用 .html 或 .liquid 扩展名）保存在 S3 存储桶中。在[任务类型页面](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)上查找预构建模板。
  + 如果使用自定义标注工作流，您可以创建一个自定义模板，并将该模板保存在 S3 存储桶中。要了解如何构建自定义工作人员模板，请参阅[创建自定义工作人员任务模板](sms-custom-templates-step2.md)。有关可用于自定义模板的自定义 HTML 元素，请参阅[Crowd HTML 元素参考](sms-ui-template-reference.md)。有关各种标签任务的演示模板存储库，请参阅 [Amazon G SageMaker round Truth 示例任务 UIs ](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis)。
+ 一个输入清单文件，用于指定 Amazon S3 中的输入数据。在 `ManifestS3Uri` 中指定输入清单文件的位置。有关创建输入清单的信息，请参阅[输入数据](sms-data-input.md)。如果您创建流式标注作业，则这是可选的。要了解如何创建流式标注作业，请参阅[创建流式标注作业](sms-streaming-create-job.md)。
+ 存储输出数据的 Amazon S3 存储桶。您可以在 `S3OutputPath` 中指定此存储桶并选择指定前缀。
+ 标签类别配置文件。每个标签类别名称必须唯一。使用 `LabelCategoryConfigS3Uri` 参数指定此文件在 Amazon S3 中的位置。此文件的格式和标签类别取决于您使用的任务类型：
  + 对于图像分类和文本分类（单标签和多标签），必须至少指定两个标签类别。对于所有其他任务类型，所需的标签类别的最小数量为 1。
  + 对于命名实体识别任务，必须在此文件中提供工作人员说明。有关详细信息和示例，请参阅[在标签类别配置文件中提供工作人员说明](sms-named-entity-recg.md#worker-instructions-ner)。
  + 对于 3D 点云和视频帧任务类型，请使用 [带有标签类别和框架属性参考的标注类别配置文件](sms-label-cat-config-attributes.md) 中的格式。
  + 对于所有其他内置任务类型和自定义任务，标签类别配置文件必须是以下格式的 JSON 文件。通过将 `label_1`、`label_2`、`...`、`label_n` 替换为标签类别，确定要使用的标签。

    ```
    {
        "document-version": "2018-11-28",
        "labels": [
            {"label": "label_1"},
            {"label": "label_2"},
            ...
            {"label": "label_n"}
        ]
    }
    ```
+ 附带[AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution)托管 IAM 策略并有权访问您的 S3 存储桶的 AWS Identity and Access Management (IAM) 角色。在 `RoleArn` 中指定此角色。要了解有关此策略的更多信息，请参阅[在 Ground Truth 中使用 IAM 托管策略](sms-security-permissions-get-started.md)。如果您需要更精细的权限，请参阅[分配 IAM 权限以使用 Ground Truth](sms-security-permission.md)。

  如果您的输入或输出存储桶名称不包含 `sagemaker`，则可以将类似于以下内容的策略附加到传递给 `CreateLabelingJob` 操作的角色。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_input_bucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_output_bucket/*"
              ]
          }
      ]
  }
  ```

------
+ 用于处理输入和输出数据的注释前和注释后（或注释合并） AWS Lambda 函数 Amazon 资源名称 (ARN)。
  + Lambda 函数是在每个 AWS 区域中为内置任务类型预定义的。要查找您所在地区的预注释 Lambda ARN，请参阅。[PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)要查找您所在地区的注释合并 Lambda ARN，请参阅。[AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)
  + 对于自定义标注工作流，必须提供自定义的注释前和注释后 Lambda ARN。要了解如何创建这些 Lambda 函数，请参阅[使用自定义标签工作流程处理数据 AWS Lambda](sms-custom-templates-step3.md)。
+ 您在 `WorkteamArn` 中指定的工作团队 ARN。当您订阅供应商人力或创建私有工作团队时，您会收到工作团队 ARN。如果您正在为视频帧或点云任务类型创建标注作业，则无法使用工作 Amazon Mechanical Turk 人员。对于所有其他任务类型，要使用 Mechanical Turk 人力，请使用以下 ARN。*`region`*替换为您用于创建标注任务的 AWS 区域。

  ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

  如果您使用 [Amazon Mechanical Turk 人力](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html)，请在 `InputConfig` 的 `DataAttributes` 中使用 `ContentClassifiers` 参数以声明您的内容不包含个人身份信息或成人内容。

  如果您使用 Mechanical Turk 人力，Ground Truth *要求*您的输入数据不包含个人身份信息 (PII)。如果您使用 Mechanical Turk，但没有使用 `FreeOfPersonallyIdentifiableInformation` 标志指定输入数据不含 PII，那么您的标注作业将失败。使用该`FreeOfAdultContent`标志声明您的输入数据不包含成人内容。 SageMaker 如果你的任务包含成人内容，人工智能可能会限制可以查看你的任务的 Amazon Mechanical Turk 工作人员。

  要了解有关工作团队和人力的更多信息，请参阅[人力](sms-workforce-management.md)。
+ 如果您使用的是 Mechanical Turk 人力，则必须在 `PublicWorkforceTaskPrice` 中指定工作人员执行单项任务的价格。
+ 要配置任务，必须分别使用 `TaskDescription` 和 `TaskTitle` 提供任务描述和标题。您可以选择提供时间限制，以控制工作人员执行单个任务的时间 (`TaskTimeLimitInSeconds`) 以及工作人员门户中为工作人员保留任务的时间 (`TaskAvailabilityLifetimeInSeconds`)。
+ （可选）对于[某些任务类型](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html)，您可以让多个工作人员标注单个数据对象（为 `NumberOfHumanWorkersPerDataObject` 参数输入大于 1 的数字）。有关注释合并的更多信息，请参阅[注释整合](sms-annotation-consolidation.md)。
+ （可选）要创建自动数据标注任务，请指定[LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)中 ARNs列出的任务之一`LabelingJobAlgorithmsConfig`。此 ARN 标识自动数据标注作业中使用的算法。与此 ARN 关联的任务类型必须与您指定的 `PreHumanTaskLambdaArn` 和 `AnnotationConsolidationLambdaArn` 的任务类型匹配。以下任务类型支持自动数据标注：图像分类、边界框、语义分割和文本分类。自动数据标注允许的最小对象数量为 1250 个，我们强烈建议至少提供 5000 个对象。要了解有关自动数据标注作业的更多信息，请参阅[自动数据标注](sms-automated-labeling.md)。
+ （可选）您可以提供 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax)，如果满足其中一个条件，标注作业就会停止。您可以使用停止条件来控制标注作业的成本。

## 示例
<a name="sms-create-labeling-job-api-examples"></a>

以下代码示例演示了如何使用 `CreateLabelingJob` 创建标注作业。您还可以在 [SageMaker AI 示例存储库 GitHub中查看这些示例](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs)笔记本。

------
#### [ 适用于 Python (Boto3) 的 AWS SDK ]

以下是一个 [AWS Python SDK (Boto3) 请求](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)示例，该请求使用私有人力在美国东部（弗吉尼亚州北部）区域中为内置任务类型创建标注作业。将所有内容*red-italized text*替换为您的标签作业资源和规格。

```
response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                "FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent",
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*",
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Multi-label image classification task",
        'TaskDescription': "Select all labels that apply to the images shown",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

------
#### [ AWS CLI ]

以下是使用 [Amazon Mechanical Turk](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html) 员工为美国东部（弗吉尼亚北部）地区的内置任务类型创建标签任务的 AWS CLI 请求示例。有关更多信息，请参阅《[AWS CLI 命令参考](https://docs.aws.amazon.com/cli/latest/reference/)》**中的 [start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-labeling-job.html)。将所有内容*red-italized text*替换为您的标签作业资源和规格。

```
$ aws --region us-east-1 sagemaker create-labeling-job \
--labeling-job-name "example-labeling-job" \
--label-attribute-name "label" \
--role-arn "arn:aws:iam::account-id:role/role-name" \
--input-config '{
        "DataAttributes": {
            "ContentClassifiers": [
                "FreeOfPersonallyIdentifiableInformation",
                "FreeOfAdultContent"
            ]
        },
        "DataSource": {
            "S3DataSource": {
                "ManifestS3Uri": "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    }' \
--output-config '{
        "KmsKeyId": "",
        "S3OutputPath": "s3://bucket/path/file-to-store-output-data"
    }' \
--human-task-config '{
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
        "TaskAvailabilityLifetimeInSeconds": 21600,
        "TaskTimeLimitInSeconds": 3600,
        "NumberOfHumanWorkersPerDataObject": 1,
        "PreHumanTaskLambdaArn":  "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        "WorkteamArn": "arn:aws:sagemaker:us-east-1:394669845002:workteam/public-crowd/default",
        "PublicWorkforceTaskPrice": {
            "AmountInUsd": {
                "Dollars": 0,
                "TenthFractionsOfACent": 6,
                "Cents": 3
            }
        },
        "TaskDescription": "Select all labels that apply to the images shown",
        "MaxConcurrentTaskCount": 1000,
        "TaskTitle": "Multi-label image classification task",,
        "TaskKeywords": [
            "Images",
            "Classification",
            "Multi-label"
        ],
        "UiConfig": {
            "UiTemplateS3Uri": "s3://bucket/path/custom-worker-task-template.html"
        }
    }'
```

------

有关此操作的更多信息，请参阅[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html)。有关如何使用其他特定语言的信息 SDKs，请参阅主题中的[另请参阅](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html#API_CreateLabelingJob_SeeAlso)。`CreateLabelingJobs`

# 创建流式标注作业
<a name="sms-streaming-create-job"></a>

通过流式标注作业，您可以将各个数据对象实时发送到持续运行的流式标注作业。要创建流标注作业，您可以在发出 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 请求时在 `InputConfig` 参数中指定 Amazon SNS *输入主题* ARN `SnsTopicArn`。如果您想实时接收标签数据，还可以创建 Amazon SNS *输出主题*，并在 `OutputConfig` 中指定此主题。

**重要**  
如果您是 Ground Truth 流式标注作业的新用户，建议您在创建流式标注作业前先行查看[Ground Truth 流式标注作业](sms-streaming-labeling-job.md)。Ground Truth 直播标签作业只能通过 SageMaker API 支持。

使用以下部分创建您需要并可用于创建流式标注作业的资源：
+ 按照[使用 Amazon SNS 主题进行数据标注](sms-create-sns-input-topic.md)中的步骤操作，了解如何创建具有 Ground Truth 流式标注作业所需权限的 SNS 主题。您的 SNS 主题必须与您的标签任务在同一个 AWS 区域创建。
+ 请参阅[为端点订阅 Amazon SNS 输出主题](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic)，了解如何设置一个端点，以便每次完成标注任务时都能在指定端点接收标注任务输出数据。
+ 要了解如何配置 Amazon S3 存储桶以向 Amazon SNS 输入主题发送通知，请参阅[根据在标注作业中定义的 Amazon SNS 创建基于 Amazon S3 的存储桶事件通知](sms-streaming-s3-setup.md)。
+ 可选择在输入清单中添加您希望在标注作业开始后立即标注的数据对象。有关更多信息，请参阅 [创建清单文件（可选）](sms-streaming-manifest.md)。
+ 创建标注作业还需要其他资源，例如 IAM 角色、Amazon S3 存储桶、工作人员任务模板和标签类别。这些资源在关于创建标注作业的 Ground Truth 文档中有所描述。有关更多信息，请参阅 [创建标注作业](sms-create-labeling-job.md)。
**重要**  
创建标注作业时，必须提供 IAM 执行角色。将 AWS 托管策略附加**AmazonSageMakerGroundTruthExecution**到此角色，以确保其拥有执行标签任务所需的权限。

当您提交创建流式标注作业的请求时，标注作业的状态是 `Initializing`。标注作业处于活动状态后，状态将更改为 `InProgress`。当标注作业处于 `Initializing` 状态时，不要向其发送新的数据对象，也不要试图停止标注作业。一旦状态更改为 `InProgress`，您就可以开始使用 Amazon SNS 和 Amazon S3 配置发送新的数据对象。

**Topics**
+ [使用 Amazon SNS 主题进行数据标注](sms-create-sns-input-topic.md)
+ [根据在标注作业中定义的 Amazon SNS 创建基于 Amazon S3 的存储桶事件通知](sms-streaming-s3-setup.md)
+ [创建清单文件（可选）](sms-streaming-manifest.md)
+ [使用 SageMaker API 创建流式标签 Job](sms-streaming-create-labeling-job-api.md)
+ [停止流式标注作业](sms-streaming-stop-labeling-job.md)

# 使用 Amazon SNS 主题进行数据标注
<a name="sms-create-sns-input-topic"></a>

您需要创建 Amazon SNS 输入才能创建流式标注作业。您还可以选择提供 Amazon SNS 输出主题。

创建 Amazon SNS 主题以用于流式标注作业时，请记下主题的 Amazon 资源名称 (ARN)。在创建标注作业时，ARN 将作为 `InputConfig` 和 `OutputConfig` 中的参数 `SnsTopicArn` 的输入值。

## 创建输入主题
<a name="sms-streaming-input-topic"></a>

您的输入主题用于向 Ground Truth 发送新的数据对象。要创建输入主题，请按照《Amazon Simple Notification Service 开发人员指南》中的[创建 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)说明进行操作。

记下您的输入主题 ARN，并将其用作 `InputConfig` 中的 `CreateLabelingJob` 参数 `SnsTopicArn` 的输入值。

## 创建输出主题
<a name="sms-streaming-output-topic"></a>

如果提供了输出主题，则会在数据对象被标注时用来发送通知。创建主题时，您可以选择添加加密密钥。使用此选项向您的主题添加 AWS Key Management Service 客户托管密钥，以便在标签作业的输出数据发布到输出主题之前对其进行加密。

要创建输出主题，请按照《Amazon Simple Notification Service 开发人员指南》中的[创建 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)说明进行操作。

如果添加加密，则必须为主题附加额外权限。请参阅 [向输出主题添加加密（可选）](#sms-streaming-encryption) 了解更多信息。

**重要**  
要在控制台中创建主题时向输出主题添加客户托管密钥，请不要使用**（默认）alias/aws/sns**选项。选择您创建的客户托管密钥。

记下您的输入主题 ARN，并在 `OutputConfig` 的参数 `SnsTopicArn` 中的 `CreateLabelingJob` 请求中使用此值。

### 向输出主题添加加密（可选）
<a name="sms-streaming-encryption"></a>

要加密发布到输出主题的消息，需要为主题提供 AWS KMS 客户托管密钥。修改以下策略并将其添加到客户托管密钥中，以允许 Ground Truth 在将输出数据发布到输出主题之前对其进行加密。

将 *`<account_id>`* 替换为您用来创建主题的账户 ID。要了解如何查找您的 AWS 账户 ID，请参阅[查找您的 AWS 账户 ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId)。

------
#### [ JSON ]

****  

```
{
    "Id": "key-console-policy",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Admin"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

此外，必须修改以下策略，并将其添加到用于创建标注作业的执行角色（`RoleArn` 的输入值）。

将 *`<account_id>`* 替换为您用来创建主题的账户 ID。将 *`<region>`* 替换为用于创建标注作业的 AWS 区域。将 `<key_id>` 替换为客户托管密钥 ID。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "sid1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/your_key_id"
        }
    ]
}
```

------

有关创建和保护密钥的更多信息，请参阅《 AWS Key Management Service 开发人员指南》中的[创建密](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)[钥和使用密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)。

## 为端点订阅 Amazon SNS 输出主题
<a name="sms-streaming-subscribe-output-topic"></a>

当工作人员完成 Ground Truth 流式标注作业中的标注作业任务时，Ground Truth 使用您的输出主题将输出数据发布到您指定的一个或多个端点。要在工作人员完成标注任务时接收通知，必须为端点订阅 Amazon SNS 输出主题。

要了解如何将端点添加到输出主题，请参阅《Amazon Simple Notification Service 开发人员指南》**中的[订阅 Amazon SNS 主题](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)。

要了解有关发布到这些端点的输出数据格式的更多信息，请参阅[标注作业输出数据](sms-data-output.md)。

**重要**  
如果您没有为端点订阅 Amazon SNS 输出主题，则不会在标注新数据对象时收到通知。

# 根据在标注作业中定义的 Amazon SNS 创建基于 Amazon S3 的存储桶事件通知
<a name="sms-streaming-s3-setup"></a>

对您的 Amazon S3 存储桶的更改、事件通知，可以通过 Amazon S3 控制台、API AWS SDKs、特定语言或 AWS Command Line Interface. 事件必须使用在 `InputConfig` 参数中指定的同一个 Amazon SNS 输入主题 ARN `SnsTopicArn` 作为 `CreateLabelingJob` 请求的一部分。

**Amazon S3 存储桶通知和您的输入数据不应使用同一个 Amazon S3 存储桶**  
创建事件通知时，请不要使用您在 `OutputConfig` 参数中指定为 `S3OutputPath` 的同一个 Amazon S3 位置。将这两个存储桶相关联可能导致 Ground Truth 处理不需要的数据对象来进行标注。

您可以控制要发送到 Amazon SNS 主题的事件类型。在发送[对象创建事件](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html#enable-event-notifications-types)时，Ground Truth 会创建一个标注作业。

发送到 Amazon SNS 输入主题的事件结构必须是使用 [Event 消息结构](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html)中的相同结构格式化的 JSON 消息。

要查看如何使用亚马逊 S3 控制台、适用于.NET 的软件开发工具包和 AWS 适用于 Java 的 S AWS DK 为亚马逊 S3 存储桶设置事件通知的示例，请按照*亚马逊简单*存储服务用户指南中的[演练：为通知配置存储桶（SNS 主题或 SQS 队列）中的](https://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html)演练。

本机不支持亚马逊 EventBridge 通知。要使用 EventBridge 基于通知的方式，必须更新输出格式，使其与[事件消息结构](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html)中使用的 JSON 格式相匹配。

# 创建清单文件（可选）
<a name="sms-streaming-manifest"></a>

创建流式标注作业时，您可以一次性选择将对象（如图像或文本）添加到在 `CreateLabelingJob` 的 `ManifestS3Uri` 中指定的输入清单文件中。当流式标注作业开始时，这些对象将发送给工作人员，如果对象总数超过 `MaxConcurrentTaskCount`，这些对象将添加到 Amazon SQS 队列。当工作人员完成标注任务时，结果会定期添加到创建标注作业时指定的 Amazon S3 路径中。输出数据将发送到您订阅输出主题的任何端点。

如果您想提供要标注的初始对象，请创建一个清单文件来标识这些对象，并将此文件放入 Amazon S3 中。在 `InputConfig` 内的 `ManifestS3Uri` 中指定此清单文件的 S3 URI。

要了解如何格式化清单文件，请参阅[输入数据](sms-data-input.md)。要使用 SageMaker AI 控制台自动生成清单文件（3D 点云任务类型不支持），请参阅[自动设置标注作业的数据](sms-console-create-manifest-file.md)。

# 使用 SageMaker API 创建流式标签 Job
<a name="sms-streaming-create-labeling-job-api"></a>

以下是一个 [AWS Python SDK (Boto3) 请求示例](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)，您可以使用该请求在美国东部（弗吉尼亚州北部）区域为内置任务类型启动流式标注作业。有关以下每个参数的更多详细信息，请参阅 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)。要了解如何使用此 API 和相关语言创建标签任务 SDKs，请参阅[创建标签作业 (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html)。

在此示例中，请注意以下参数：
+ `SnsDataSource` – 此参数出现在 `InputConfig` 和 `OutputConfig` 中，分别用于标识输入和输出 Amazon SNS 主题。要创建流式标注作业，您需要提供 Amazon SNS 输入主题。您还可以选择提供 Amazon SNS 输出主题。
+ `S3DataSource` – 此参数为可选参数。如果您想在标注作业开始后立即包括要标注的数据对象的输入清单文件，请使用此参数。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions) – 创建流式标注作业时，将忽略此参数。要了解有关停止流式标注作业的更多信息，请参阅[停止流式标注作业](sms-streaming-stop-labeling-job.md)。
+ 流式标注作业不支持自动数据标注。不要包括 `LabelingJobAlgorithmsConfig` 参数。

```
response = client.create_labeling_job(
    LabelingJobName= 'example-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            },
            'SnsDataSource': {
                'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-input-topic'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string',
        'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-output-topic'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype',
        'TaskKeywords': [
            'Example key word',
        ],
        'TaskTitle': 'Multi-label image classification task',
        'TaskDescription': 'Select all labels that apply to the images shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype'
            }
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

# 停止流式标注作业
<a name="sms-streaming-stop-labeling-job"></a>

您可以使用该操作手动停止流式标签作业[StopLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html)。

如果您的标注作业闲置超过 10 天，Ground Truth 将自动停止该作业。在这种情况下，如果没有对象发送到 Amazon SNS 输入主题，并且 Amazon SQS 队列中也没有等待标注的对象，则标注作业被视为*空闲*。例如，如果没有向 Amazon SNS 输入主题提供任何数据对象，并且提供给标注作业的所有对象都已标注，则 Ground Truth 会启动计时器。计时器启动后，如果在 10 天内没有收到任何项目，则停止标注作业。

标注作业停止时，其状态为 `STOPPING`，同时 Ground Truth 清理标注作业资源，并从 Amazon SQS 队列中取消订阅 Amazon SNS 主题。Ground Truth *不会*删除 Amazon SQS，因为该队列可能包含未处理的数据对象。如果您想避免从 Amazon SQS 产生额外费用，则应手动删除该队列。要了解更多信息，请参阅 [Amazon SQS 定价](https://aws.amazon.com/sqs/pricing/)。

# 带有标签类别和框架属性参考的标注类别配置文件
<a name="sms-label-cat-config-attributes"></a>

使用 Amazon SageMaker API 操作创建 3D 点云或视频帧标注任务时`CreateLabelingJob`，您可以使用标签类别配置文件来指定标签和工作指令。您也可以选择在标签类别属性文件中提供以下内容：
+ 您可以为视频帧和 3D 点云对象跟踪和对象检测任务类型提供*标签类别属性*。工作人员可以使用一个或多个属性来提供有关对象的更多信息。例如，您可能希望使用 *occluded* 属性，以使工作人员确定对象何时被部分遮挡。您可以使用 `categoryAttributes` 参数为单个标签指定标签类别属性，或者使用 `categoryGlobalAttributes` 参数为所有标签指定标签类别属性。
+ 您可以使用 `frameAttributes` 为视频帧和 3D 点云对象跟踪和对象检测任务类型提供*帧属性*。创建帧属性时，该属性会出现在工作人员任务中的每个帧或点云上。在视频帧标注作业中，这些属性是工作人员分配给整个视频帧的属性。对于 3D 点云标注作业，这些属性应用于单个点云。使用帧属性可让工作人员提供特定帧或点云中场景的更多信息。
+ 对于视频帧标注作业，可以使用标签类别配置文件指定发送给工作人员的任务类型（边界框、折线、多边形或关键点）。

工作人员可以选择性地为标签类别属性和帧属性指定值。

**重要**  
只有在运行审核作业以验证或调整标签时，您才应在 `auditLabelAttributeName` 中提供标签属性名称。使用此参数输入标注作业中[LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)使用的，该作业生成了您希望工作人员调整的注释。在控制台中创建标签任务时，如果您未指定标签属性名称，则您的任务**名称**将用作 LabelAttributeName。

以下主题显示了不同类型标注作业的标签类别配置文件示例。它们还解释了类别配置文件的架构和配额。

**Topics**
+ [示例：3D 点云标注作业的标签类别配置文件](#sms-label-cat-config-attributes-3d-pc)
+ [示例：视频帧标注作业的标签类别配置文件](#sms-label-cat-config-attributes-vid-frame)
+ [标签类别配置文件架构](#sms-label-cat-config-attributes-schema)
+ [标签和标签类别属性限额](#sms-point-cloud-label-cat-limits)

## 示例：3D 点云标注作业的标签类别配置文件
<a name="sms-label-cat-config-attributes-3d-pc"></a>

以下主题显示了对象检测、对象跟踪、语义分割、调整和验证标注作业的 3D 点云标签类别配置文件的示例。

**Topics**
+ [示例：3D 点云对象跟踪和对象检测](#example-3d-point-cloud-object)
+ [示例：3D 点云语义分割](#example-3d-point-cloud-semantic)
+ [示例：3D 点云调整](#example-3d-point-cloud-adjustment)
+ [示例：3D 点云验证](#example-3d-point-cloud-verification)

### 示例：3D 点云对象跟踪和对象检测
<a name="example-3d-point-cloud-object"></a>

下面是一个标签类别配置文件示例，其中包含 3D 点云对象检测或对象跟踪标注作业的标签类别属性。此示例包括两个帧属性，这些属性将添加到提交给标注作业的所有点云中。`Car` 标签将包括四个标签类别属性 – `X`、`Y`、`Z` 和全局属性 `W`。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"],
            "isRequired":true 
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}
}
```

### 示例：3D 点云语义分割
<a name="example-3d-point-cloud-semantic"></a>

下面是 3D 点云语义分割标注作业的标签类别配置文件示例。

3D 点云语义分割任务类型不支持标签类别属性。支持帧属性。如果您为语义分割标注作业提供标签类别属性，将忽略这些属性。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "labels": [
        {
            "label": "Car",
        },
        {
            "label": "Pedestrian",
        },
        {
            "label": "Cyclist",
        }
    ],
    "instructions": {"shortInstruction":"Select the appropriate label and paint all objects in the point cloud that it applies to the same color", "fullInstruction":"<html markup>"}
}
```

### 示例：3D 点云调整
<a name="example-3d-point-cloud-adjustment"></a>

以下是用于 3D 点云对象检测或对象跟踪调整标注作业的标签类别配置文件示例。对于 3D 点云语义分割调整标注作业，不支持 `categoryGlobalAttributes` 和 `categoryAttributes`。

必须包括 `auditLabelAttributeName` 以指定用于创建调整标注作业的前一个标注作业的标签属性名称。也可以选择使用 `editsAllowed` 参数来指定是否可以编辑标签或帧属性。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"none",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### 示例：3D 点云验证
<a name="example-3d-point-cloud-verification"></a>

以下是可用于 3D 点云对象检测或对象跟踪验证标注作业的标签类别配置文件示例。对于 3D 点云语义分割验证标注作业，不支持 `categoryGlobalAttributes` 和 `categoryAttributes`。

必须包括 `auditLabelAttributeName` 以指定用于创建验证标注作业的前一个标注作业的标签属性名称。此外，必须使用 `editsAllowed` 参数以指定不能编辑任何标签。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"any", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"none"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label verification jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## 示例：视频帧标注作业的标签类别配置文件
<a name="sms-label-cat-config-attributes-vid-frame"></a>

工作人员可用的注释工具和使用的任务类型取决于您为 `annotationType` 指定的值。例如，如果希望工作人员使用关键点来跟踪多个帧中特定对象姿势的变化，则应该为 `annotationType` 指定 `Keypoint`。如果未指定注释类型，则默认情况下将使用 `BoundingBox`。

以下主题显示了视频帧类别配置文件的示例。

**Topics**
+ [示例：视频帧关键点](#example-video-frame-keypoint)
+ [示例：视频帧调整](#example-video-frame-adjustment)
+ [示例：视频帧验证](#example-video-frame-verification)

### 示例：视频帧关键点
<a name="example-video-frame-keypoint"></a>

下面是一个带有标签类别属性的视频帧关键点标签类别配置文件示例。此示例包括两个帧属性，这两个属性将添加到提交给标注作业的所有帧中。`Car` 标签将包括四个标签类别属性 – `X`、`Y`、`Z` 和全局属性 `W`。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}
}
```

### 示例：视频帧调整
<a name="example-video-frame-adjustment"></a>

以下是可用于视频帧调整标注作业的标签类别配置文件示例。

必须包括 `auditLabelAttributeName` 以指定用于创建验证标注作业的前一个标注作业的标签属性名称。也可以选择使用 `editsAllowed` 参数来指定是否可以编辑标签、标签类别属性或帧属性。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### 示例：视频帧验证
<a name="example-video-frame-verification"></a>

以下是视频帧标注作业的标签类别配置文件示例。

必须包括 `auditLabelAttributeName` 以指定用于创建验证标注作业的前一个标注作业的标签属性名称。此外，必须使用 `editsAllowed` 参数以指定不能编辑任何标签。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## 标签类别配置文件架构
<a name="sms-label-cat-config-attributes-schema"></a>

下表列出了您可以或必须在标签类别配置文件中包含的元素。

**注意**  
仅视频帧标注作业支持 `annotationType` 参数。


****  

|  参数  |  必需  |  接受的值  |  说明  | 
| --- | --- | --- | --- | 
| frameAttributes |  否  |  JSON 对象列表。 **每个 JSON 对象中的必需参数：** `name`, `type`, `description` 如果 `type` 是 `"number"`，则 `minimum` 和 `maximum` 是必需的 **每个 JSON 对象中的可选参数：** `enum`, `editsAllowed`, `isRequired`  | 使用此参数可创建一个帧属性，该属性应用于标注作业中的所有帧或 3D 点云。有关更多信息，请参阅本节中的第三个表。 | 
| categoryGlobalAttributes |  否  |  JSON 对象列表。 **每个 JSON 对象中的必需参数：** `name`, `type` 如果 `type` 是 `"number"`，则 `minimum` 和 `maximum` 是必需的 **每个 JSON 对象中的可选参数：** `description`, `enum`, `editsAllowed`, `isRequired`   | 使用此参数可以创建应用于在 `labels` 中指定的所有标签的标签类别属性。有关更多信息，请参阅本节中的第三个表。 | 
| labels |  是  |  最多包含 30 个 JSON 对象的列表 **每个 JSON 对象中的必需参数：** `label` **每个 JSON 对象中的可选参数：** `categoryAttributes`, `editsAllowed`  |  使用此参数可以指定标签或类。为每个类添加一个 `label`。 要将标签类别属性添加到一个标签中，请将 `categoryAttributes` 添加到该标签中。 使用 `editsAllowed` 可指定是否可以在调整标注作业中编辑标签。对于验证标注作业，将 `editsAllowed` 设置为 `"none"`。 有关更多信息，请参阅下表。  | 
| annotationType（仅视频帧标注作业支持）  |  否   |  字符串 **接受的参数**： `BoundingBox`, `Polyline`, `Polygon`, `Keypoint` **默认值**： `BoundingBox`  |  使用此项可以指定视频帧标注作业的任务类型。例如，对于多边形视频帧对象检测任务，请选择 `Polygon`。 如果在创建视频帧标注作业时未指定 `annotationType`，Ground Truth 将默认使用 `BoundingBox`。  | 
| instructions |  否  | JSON 对象每个 JSON 对象中的必需参数：`"shortInstruction"`, `"fullInstruction"` |  使用此参数可以添加有助于工作人员完成任务的工作人员说明。有关工作人员说明的更多信息，请参阅[工作人员说明](sms-point-cloud-general-information.md#sms-point-cloud-worker-instructions-general)。 短说明必须少于 255 个字符，长说明必须少于 2048 个字符。 有关更多信息，请参阅 [创建说明页](sms-creating-instruction-pages.md)。  | 
| auditLabelAttributeName |  调整和验证任务类型所必需的  |  字符串  |  输入要调整标注的标注作业中[LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName)使用的。 仅当您正在为视频帧和 3D 点云对象检测、对象跟踪或 3D 点云语义分割创建调整作业时，才使用此参数。  | 

### 标签对象架构
<a name="sms-labels-schema"></a>

下表描述了创建 `Labels` 列表时可以使用和必须使用的参数。每个参数都应包含在 JSON 对象中。


****  

| 参数 | 必需 | 接受的值 | Description | 
| --- | --- | --- | --- | 
| label |  是  |  字符串  |  向工作人员显示的标签类别的名称。每个标签类别名称必须唯一。  | 
| categoryAttributes |  否  |  JSON 对象列表。 **每个 JSON 对象中的必需参数：** `name`, `type` 如果 `type` 是 `"number"`，则 `minimum` 和 `maximum` 是必需的 **每个 JSON 对象中的可选参数：** `description`, `enum`, `editsAllowed`, `isRequired`  | 使用此参数可以将标签类别属性添加到在 `labels` 中指定的特定标签。要向标签添加一个或多个标签类别属性，请将 `categoryAttributes` JSON 对象包含在与 `label` 相同的 `labels` JSON 对象中。有关更多信息，请参阅下表。 | 
| editsAllowed |  否  |  字符串 **支持的值**： `"none"`：不允许进行任何修改。 或者 `"any"`（默认）：允许所有修改。  |  指定工作人员是否可以编辑标签。 对于视频帧或 3D 点云*调整*标注作业，请将此参数添加到 `labels` 列表中的一个或多个 JSON 对象，以指定工作人员是否可以编辑标签。 对于 3D 点云和视频帧*验证*标注作业，请将此参数与值 `"none"` 一起添加到 `labels` 列表中的每个 JSON 对象。这将使所有标签都不可编辑。  | 

### 框架属性和 categoryGlobalAttributes 架构
<a name="sms-category-attributes-schema"></a>

下表描述了使用 `frameAttributes` 创建帧属性时以及使用 `categoryGlobalAttributes` 和 `categoryAttributes` 参数创建标签类别属性时可以使用和必须使用的参数。


****  

|  参数  |  必需  |  接受的值  |  Description  | 
| --- | --- | --- | --- | 
| name |  是  |  字符串  |  使用此参数可以为标签类别或帧属性分配名称。这是工作人员看到的属性名称。 标签类别配置文件中的每个标签类别属性名称必须是唯一的。全局标签类别属性和特定于标签的标签类别属性不能具有相同的名称。  | 
| type |  是  |  字符串 **必需的值**： `"string"` 或 `"number"`  |  使用此参数可以定义标签类别或帧属性类型。 如果为 `type` 指定 `"string"` 并为此属性提供 `enum` 值，则工作人员将能够从您提供的选项中进行选择。 如果为 `type` 指定 `"string"` 但不提供 `enum` 值，则工作人员可以输入自由格式文本。 如果为 `type` 指定 `number`，则工作人员可以输入介于您指定的 `minimum` 和 `maximum` 之间的数字。  | 
| enum |  否  |  字符串列表  |  使用此参数可以定义工作人员可为此标签类别或帧属性选择的选项。工作人员可以选择在 `enum` 中指定的一个值。例如，如果为 `enum` 指定 `["foo", "buzz", "bar"`]，则工作人员可以选择 `foo`、`buzz` 或 `bar` 中的一个。 必须为 `type` 指定 `"string"` 才能使用 `enum` 列表。  | 
| description |  `frameAttributes`：是 `categoryAttributes` 或 `categoryGlobalAttributes`：否  |  字符串  |  使用此参数可以添加标签类别或帧属性的描述。您可以使用此字段向工作人员提供有关属性的更多信息。 只有帧属性才需要此字段。  | 
| minimum 和 maximum | 如果属性 type 为 "number"，则是必需的 | 整数 |  使用这些参数可以指定工作人员可为数值标签类别或帧属性输入的最小值和最大值（包括）。 必须为 `type` 指定 `"number"` 才能使用 `minimum` 和 `maximum`。  | 
| editsAllowed |  否  |  字符串 **必需的值**： `"none"`：不允许进行任何修改。 或者 `"any"`（默认）：允许所有修改。  |  指定工作人员是否可以编辑标签类别或帧属性。 对于视频帧或 3D 点云*调整*和*验证*标注作业，请将此参数添加到标签类别和帧属性 JSON 对象中，以指定工作人员是否可以编辑属性。  | 
| isRequired |  否  |  布尔值  |  指定是否需要工作人员对属性进行注释。在对所有必需的属性进行注释之前，工作人员无法提交作业。  | 

## 标签和标签类别属性限额
<a name="sms-point-cloud-label-cat-limits"></a>

您最多可以为每个类指定 10 个标签类别属性。这 10 个属性限额包括全局标签类别属性。例如，如果您创建 4 个全局标签类别属性，然后将三个标签类别属性分配给标签 `X`，则该标签总共具有 4\$13=7 个标签类别属性。有关所有标签类别和标签类别属性限制，请参阅下表。


****  

|  Type  |  最小值  |  最大值  | 
| --- | --- | --- | 
|  标签 (`Labels`)  |  1  |  30  | 
|  标签名称字符限额  |  1  |  16  | 
|  每个标签的标签类别属性（`categoryAttributes` 和 `categoryGlobalAttributes` 总和）  |  0  |  10  | 
|  每个标签的自由格式文本条目标签类别属性（`categoryAttributes` 和 `categoryGlobalAttributes` 总和）。  | 0 | 5 | 
|  帧属性  |  0  |  10  | 
|  `frameAttributes` 中的自由格式文本条目属性。  | 0 | 5 | 
|  属性名称字符限额 (`name`)  |  1  |  16  | 
|  属性描述字符限额 (`description`)  |  0  |  128  | 
|  属性类型字符限额 (`type`)  |  1  |  16  | 
|  `string` 属性的 `enum` 列表中允许的值  | 1 | 10 | 
|  `enum` 列表中某个值的字符限额  | 1 | 16 | 
| 自由格式文本 frameAttributes 的自由格式文本响应中的最大字符数 | 0 | 1000 | 
| 自由格式文本 categoryAttributes 和 categoryGlobalAttributes 的自由格式文本响应中的最大字符数 | 0 | 80 | 