创建 Amazon SNS 输入和输出主题 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建 Amazon SNS 输入和输出主题

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

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

创建输入主题

您的输入主题用于向 Ground Truth 发送新的数据对象。要创建输入主题,请按照《Amazon Simple Notification Service 开发人员指南》中的创建 Amazon SNS 主题说明进行操作。

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

创建输出主题

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

要创建输出主题,请按照《Amazon Simple Notification Service 开发人员指南》中的创建 Amazon SNS 主题说明进行操作。

如果添加加密,则必须为主题附加额外权限。请参阅 向输出主题添加加密(可选) 了解更多信息。

重要

在控制台中创建主题时,要在输出主题中添加客户托管密钥,请勿使用 (Default) alias/aws/sns 选项。选择您创建的客户托管密钥。

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

向输出主题添加加密(可选)

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

<account_id> 替换为您用来创建主题的账户 ID。要了解如何查找 Amazon 账户 ID,请参阅查找 Amazon 账户 ID

{ "Id": "key-console-policy", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account_id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account_id>: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> 替换为用于创建标注作业的 Amazon 区域。将 <key_id> 替换为客户托管密钥 ID。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "sid1", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:<region>:<account_id>:key/<key_id>" } ] }

有关创建和保护密钥的更多信息,请参阅《Amazon Key Management Service 开发人员指南》中的创建密钥使用密钥策略

为端点订阅 Amazon SNS 输出主题

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

要了解如何将端点添加到输出主题,请参阅《Amazon Simple Notification Service 开发人员指南》中的订阅 Amazon SNS 主题

要了解有关发布到这些端点的输出数据格式的更多信息,请参阅输出数据

重要

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