

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

# 在最终用户消息短信中 AWS 设置 Amazon SNS 事件目的地
<a name="configuration-sets-sns"></a>

Amazon Simple Notification Service (Amazon SNS) 是一项 Web 服务，它使应用程序、终端用户和设备能够立即发送和接收通知。有关 Amazon SNS 的更多信息，请参阅 [Amazon Simple Notification Service 开发人员指南](https://docs.aws.amazon.com/sns/latest/dg/)。

本节中的部分示例假定您已安装和配置 AWS Command Line Interface。有关设置的更多信息 AWS CLI，请参阅《[AWS Command Line Interface 用户指南》](https://docs.aws.amazon.com/cli/latest/userguide/)。

**Topics**
+ [Amazon SNS 访问策略](configuration-sets-sns-creating-role.md)
+ [创建亚马逊 SNS 活动目的地](configuration-sets-sns-add.md)
+ [编辑 Amazon SNS 活动目的地](configuration-sets-sns-edit.md)
+ [删除 Amazon SNS 活动目的地](configuration-sets-sns-delete.md)

# Amazon SNS 访问策略
<a name="configuration-sets-sns-creating-role"></a>

对 Amazon SNS 主题的访问由附加到 Amazon SNS 主题的*资源策略*控制，这也称为*访问策略*。有关 Amazon SNS *访问策略*的更多信息，请参阅《Amazon SNS 开发人员指南》**中的[身份和访问管理](https://docs.aws.amazon.com/sns/latest/dg/security-iam.html)。

**注意**  
如果您的 Amazon SNS 主题启用了服务器端加密， AWS Key Management Service 则还要将该策略添加到关联的[对称加密](#configuration-sets-sns-creating-role-encrypted)客户托管密钥中。

使用以下声明更新*访问策略*，以允许在 Amazon SNS 主题中发布 AWS 最终用户消息 SMS。
+ *111122223333*替换为 AWS 账户的唯一 ID。
+ *TopicName*替换为 Amazon SNS 主题的名称。
+ *Region*替换为包 AWS 区域 含 Amazon SNS 主题和配置集的。
+ 将 *ConfigSetName* 替换为配置集的名称。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "sms-voice.amazonaws.com"
            },
            "Action": "sns:Publish",
            "Resource": "arn:aws:sns:us-east-1:111122223333:TopicName",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "accountId"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:sms-voice:us-east-1:111122223333:configuration-set/ConfigSetName"
                }
            }
        }
    ]
}
```

------

## 加密 Amazon SNS 主题的访问策略
<a name="configuration-sets-sns-creating-role-encrypted"></a>

如果您的 Amazon SNS 主题启用了服务器端加密 AWS Key Management Service，请将以下策略添加到关联的对称加密客户托管密钥中。您必须将策略添加到客户托管密钥中，因为您无法修改 Amazon SNS 的 AWS 托管密钥。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "example-ID",
    "Statement": [
        {
            "Sid": "example-statement-ID",
            "Effect": "Allow",
            "Principal": {
                "Service": "sms-voice.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# 在 AWS 最终用户消息短信中创建 Amazon SNS 事件目的地
<a name="configuration-sets-sns-add"></a>

在创建 Amazon SNS 事件目标之前，必须先创建 Amazon SNS 主题。有关创建 Amazon SNS 主题的更多信息，请参阅《*亚马逊简单通知服务开发者*指南》中的[创建主题](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)。

您还必须已经设置了与事件目的地关联的配置集，请参阅[AWS 终端用户消息发送 SMS 服务中的配置集](configuration-sets.md)。

------
#### [ Create an Amazon SNS event destination (Console) ]

要使用 AWS 最终用户消息 SMS 控制台创建 Amazon SNS 事件目的地，请执行以下步骤：

1. 打开 AWS 最终用户消息 SMS 控制台，网址为[https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/)。

1. 在导航窗格的**配置**下，选择**配置集**。

1. 在**配置集**页面上，选择要向其添加事件目标的配置集。

1. 在**配置集详细信息**页面上，选择**添加目标事件**。

1. 在**活动详情**部分下，输入名称。

1. 从**目的地类型**下拉列表中选择 Amazon SNS。

   1. **全新 Amazon SNS 主题** — 选择此选项，让 AWS 最终用户消息短信在您的账户中创建主题。该主题将自动创建，并具有所有必需的权限。有关 Amazon SNS 主题的更多信息，请参阅[亚马逊[简单通知服务开发者指南中的配置 Amazon](https://docs.aws.amazon.com/sns/latest/dg/) SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

   1. **现有亚马逊 SNS 主题 — 如果您在 “主题** **arn” 下拉列表中已有 Amazon SNS 主题，请选择此选项。**

1. 在 “**事件类型**” 下，选择：
   + **所有短信事件（推荐）**-选择此选项可将中列出的所有短信事件发送[事件类型](configuration-sets-event-types.md)到 Amazon SNS。
   + **自定义短信事件**-选择要发送到 Amazon SNS 的特定短信事件。要编辑事件列表，请选择**编辑短信事件选择**。在 **“编辑短信事件” 选项中，仅勾选**您要发送到 Amazon SNS 的事件。选择 “**保存所选内容**”。
   + **所有语音事件（推荐）**-选择此选项可将中列出的所有语音事件发送[事件类型](configuration-sets-event-types.md)到 Amazon SNS。
   + **自定义语音事件**-选择要发送到 Amazon SNS 的特定语音事件。要编辑事件列表，请选择**编辑语音事件选择**。在 **“编辑语音事件选择” 中，仅勾选**您要发送到 Amazon SNS 的事件。选择 “**保存所选内容**”。
   + **所有彩信事件（推荐）**-选择此选项可将列出的所有彩信事件发送到 Amazon SNS。[事件类型](configuration-sets-event-types.md)
   + **自定义彩信事件**-选择要发送到 Amazon SNS 的特定彩信事件。要编辑事件列表，请选择**编辑彩信事件选择**。在 **“编辑彩信” 事件选择中，仅勾选**您要发送到 Amazon SNS 的事件。选择 “**保存所选内容**”。

1. 选择 **Create event (创建事件)**。

------
#### [ Create an Amazon SNS event destination (AWS CLI) ]

您可以使用[create-event-destination](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/create-event-destination.html)命令来创建事件目的地。

```
$ aws pinpoint-sms-voice-v2 create-event-destination \
> --event-destination-name eventDestinationName \
> --configuration-set-name configurationSet \
> --matching-event-types eventTypes \
> --sns-destination TopicArn=arn:aws:sns:us-east-1:111122223333:snsTopic
```

在前面的命令中，进行以下更改：
+ *eventDestinationName*替换为事件目的地的描述性名称。
+ 替换为要*configurationSet*与事件目标关联的配置集的名称。
+ *eventTypes*替换为中列出的事件类型之一[短信、彩信和语音的事件类型](configuration-sets-event-types.md)。
+ 将 `TopicArn` 的值替换为您要向其发送事件的 Amazon SNS 主题的 Amazon 资源名称 (ARN)。

------

# 在 AWS 最终用户消息短信中编辑 Amazon SNS 事件目的地
<a name="configuration-sets-sns-edit"></a>

使用 AWS 最终用户消息 SMS 控制台或 AWS CLI 编辑 Amazon SNS 事件目的地。

------
#### [ Update an Amazon SNS event destination (Console) ]

要使用 AWS 最终用户消息 SMS 控制台更新 AWS 最终用户消息 SMS 事件目的地，请执行以下步骤：

1. 打开 AWS 最终用户消息 SMS 控制台，网址为[https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/)。

1. 在导航窗格的**配置**下，选择**配置集**。

1. 在**配置集**页面上，选择要向其添加事件目标的配置集。

1. 在**配置集**页面上，选择要编辑的配置集。

1. **在**配置集详情**页面上，选择一个 Amazon SNS 事件目的地，然后选择 “编辑”。**

1. 从**目的地类型**下拉列表中选择 Amazon SNS。

   1. **全新 Amazon SNS 主题** — 选择此选项，“ AWS 最终用户消息 SMS” 将在您的账户中创建一个主题。该主题将自动创建，并具有所有必需的权限。有关 Amazon SNS 主题的更多信息，请参阅[亚马逊[简单通知服务开发者指南中的配置 Amazon](https://docs.aws.amazon.com/sns/latest/dg/) SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html)。

   1. **现有亚马逊 SNS 主题 — 如果您在 “主题** **arn” 下拉列表中已有 Amazon SNS 主题，请选择此选项。**

1. 在 “**事件类型**” 下，选择：
   + **所有短信事件（推荐）**-选择此选项可将中列出的所有短信事件发送[事件类型](configuration-sets-event-types.md)到 Amazon SNS。
   + **自定义短信事件**-选择此选项选择要发送到 Amazon SNS 的特定短信事件。要编辑事件列表，请选择**编辑短信事件选择**。在 **“编辑短信事件” 选项中，仅勾选**您要发送到 Amazon SNS 的事件。选择 “**保存选择**”。
   + **所有语音事件（推荐）**-选择此选项可将中列出的所有语音事件发送[事件类型](configuration-sets-event-types.md)到 Amazon SNS。
   + **自定义语音事件**-选择此选项选择要发送到 Amazon SNS 的特定语音事件。要编辑事件列表，请选择**编辑语音事件选择**。在 **“编辑语音事件选择” 中，仅勾选**您要发送到 Amazon SNS 的事件。选择 “**保存选择**”。
   + **所有彩信事件（推荐）**-选择此选项可将列出的所有彩信事件发送到 Amazon SNS。[事件类型](configuration-sets-event-types.md)
   + **自定义彩信事件**-选择此选项选择要发送到 Amazon SNS 的特定彩信事件。要编辑事件列表，请选择**编辑彩信事件选择**。在 **“编辑彩信” 事件选择中，仅勾选**您要发送到 Amazon SNS 的事件。选择 “**保存选择**”。

1. 选择**编辑事件**。

------
#### [ Update an Amazon SNS event destination (AWS CLI) ]

您可以使用[update-event-destination](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/update-event-destination.html)命令来更新事件目的地。

更新 Amazon SNS 事件目标的过程与创建事件目标的过程类似。

**要在中更新 Amazon SNS 事件目的地 AWS CLI**
+ 在命令行处，运行以下命令：

  ```
  $ aws pinpoint-sms-voice-v2 update-event-destination \
  > --event-destination-name eventDestinationName \
  > --configuration-set-name configurationSet \
  > --matching-event types eventTypes \
  > --sns-destination TopicArn=arn:aws:sns:us-east-1:111122223333:snsTopic
  ```

  在前面的命令中，进行以下更改：
  + *eventDestinationName*替换为要修改的事件目的地的名称。
  + 替换为要*configurationSet*与事件目标关联的配置集的名称。您可以将事件目标与另外的配置集相关联。
  + *eventTypes*替换为中列出的一个或多个事件类型[短信、彩信和语音的事件类型](configuration-sets-event-types.md)。
  + 将 `TopicArn` 的值替换为您要向其发送事件的 Amazon SNS 主题的 Amazon 资源名称 (ARN)。

------

# 删除 “ AWS 最终用户消息” 短信中的 Amazon SNS 事件目的地
<a name="configuration-sets-sns-delete"></a>

使用 AWS 最终用户消息短信控制台或 AWS CLI 删除 Amazon SNS 主题。

------
#### [ Delete an Amazon SNS event destination (Console) ]

无论您要删除的事件目标的类型如何，删除事件目标的过程都是一样的。

**在控制台中删除 Amazon SNS 事件目的地**

1. 打开 AWS 最终用户消息 SMS 控制台，网址为[https://console.aws.amazon.com/sms-voice/](https://console.aws.amazon.com/sms-voice/)。

1. 在导航窗格的**配置**下，选择**配置集**。

1. 在**配置集**页面上，选择要从中删除事件目标的配置集。

1. 在 “**所有目的地**” 部分中，选择活动目的地，然后选择 “**删除**”。

------
#### [ Delete an Amazon SNS event destination (AWS CLI) ]

您可以使用[delete-event-destination](https://docs.aws.amazon.com/cli/latest/reference/pinpoint-sms-voice-v2/delete-event-destination.html)命令删除事件目的地。

无论您要删除的事件目标的类型如何，删除事件目标的过程都是一样的。

**要在中删除 Amazon SNS 事件目的地 AWS CLI**
+ 在命令行处，运行以下命令：

  ```
  $ aws pinpoint-sms-voice-v2 delete-event-destination \
  > --event-destination-name eventDestinationName \
  > --configuration-set-name configurationSetName
  ```

  在前面的命令中，进行以下更改：
  + *eventDestinationName*替换为您要删除的事件目的地的名称或 Amazon 资源名称 (ARN)。
  + 替换为*configurationSetName*与事件目标关联的配置集的名称或 ARN。

------