

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

# 使用 Amazon SNS 主題進行資料標籤
<a name="sms-create-sns-input-topic"></a>

您必須建立 Amazon SNS 輸入，才能建立串流標籤工作。您也可以選擇提供 Amazon SNS 輸出主題。

建立串流標籤工作中使用的 Amazon SNS 主題時，請記下主題 Amazon Resource Name (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)。

**重要**  
若要在主控台建立主題時，將客戶受管金鑰新增至輸出主題，請勿使用 **(Default) alias/aws/sns** 選項。選取您已建立的客戶受管金鑰。

記下您的輸入主題 ARN，並在 `OutputConfig` 中參數 `SnsTopicArn` 的 `CreateLabelingJob` 請求中使用。

### 將加密新增到輸出主題 (選用)
<a name="sms-streaming-encryption"></a>

若要加密發佈到輸出主題的訊息，您必須為主題提供 AWS KMS 客戶受管金鑰。修改以下政策，然後新增至客戶受管金鑰，在將輸入資料發佈到輸出主題之前，先授予 Ground Truth 加密輸出資料的許可。

以您用來建立主題的帳戶 ID 取代 *`<account_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` 的輸入值)。

以您用來建立主題的帳戶 ID 取代 *`<account_id>`*。以您用來建立標籤工作的 AWS 區域取代 *`<region>`*。以客戶受管金鑰 ID 取代 `<key_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 輸出主題，則新資料物件標籤時不會收到通知。