

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

# 向不同区域的亚马逊 SQS 队列 AWS Lambda 或函数发送 Amazon SNS 消息
<a name="sns-cross-region-delivery"></a>

Amazon SNS 支持跨区域传输，无论是默认启用的区域还是[可选择加入的区域](#opt-in-regions)。有关 Amazon SNS 支持的 AWS 区域的当前列表（包括选择加入的区域），请参阅《Amazon Web Services 一般参考》**中的 [Amazon Simple Notification Service 端点和限额](https://docs.aws.amazon.com/general/latest/gr/sns.html)。

Amazon SNS 支持跨区域传输通知到 Amazon SQS 队列以及 AWS Lambda 函数。当其中一个区域是选择加入的区域时，您必须在订阅资源的策略中指定不同的 Amazon SNS 服务委托人。

Amazon SNS 订阅命令必须在相应区域中托管 Amazon SNS 的区域内执行。例如，如果 Amazon SNS 位于 us-east-1 区域的“A”账户中，而 Lambda 函数位于 us-east-2 区域的“B”账户中，则必须在 us-east-1 区域的“A”账户中执行订阅 CLI 命令。

## 选择加入的区域
<a name="opt-in-regions"></a>

Amazon SNS 支持以下选择加入的区域：


| 区域名称 | Region | 
| --- | --- | 
|  非洲（开普敦）区域  |  af-south-1  | 
|  亚太地区（香港）区域  |  ap-east-1  | 
|  亚太地区（海得拉巴）区域  |  ap-south-2  | 
|  亚太地区（雅加达）区域  |  ap-southeast-3  | 
|  亚太地区（墨尔本）区域  |  ap-southeast-4  | 
|  欧洲地区（米兰）  |  eu-south-1  | 
|  欧洲（西班牙）区域  |  eu-south-2  | 
|  欧洲（苏黎世）  |  eu-central-2  | 
|  以色列（特拉维夫）区域  |  il-central-1  | 
|  中东（巴林）区域  |  me-south-1  | 
|  中东（阿联酋）区域  |  me-central-1  | 

*有关启用可选区域的信息，请参阅中的[Amazon Web Services 一般参考管理 AWS 区域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)。*

使用 Amazon SNS 将消息从选择加入的区域传输到默认启用的区域时，必须更改为队列创建的资源策略。将委托人 `sns.amazonaws.com` 替换为 `sns.<opt-in-region>.amazonaws.com`。例如：
+  要为美国东部（弗吉尼亚州北部）的 Amazon SQS 队列订阅亚太地区（香港）的 Amazon SNS 主题，请将队列策略中的主体更改为 `sns.ap-east-1.amazonaws.com`。选择加入区域包括 2019 年 3 月 20 日之后推出的任何区域，包括亚太地区（香港）、亚太地区（雅加达）、中东（巴林）、欧盟（米兰）和非洲（开普敦）。2019 年 3 月 20 日之前推出的区域默认情况下处于启用状态。  
**对于 Amazon SQS 的跨区域传输支持**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sns/latest/dg/sns-cross-region-delivery.html)

  以下是访问策略声明的示例，该声明允许选择加入区域 (af-south-1) 中的亚马逊 SNS 主题发送到某个区域 (us-east-1) 中的亚马逊 SQS 队列。enabled-by-default 它在路径 `Statement`/`Principal`/`Service` 下包含必要的区域化服务主体配置。

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

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Id": "__default_policy_ID",
      "Statement": [
          {
              "Sid": "allow_sns_arn:aws:sns:af-south-1:111111111111:source_topic_name",
              "Effect": "Allow",
              "Principal": {
                  "Service": "sns.af-south-1.amazonaws.com"
              },
              "Action": "SQS:SendMessage",
              "Resource": "arn:aws:sqs:us-west-1:111111111111:destination_queue_name",
              "Condition": {
                  "ArnLike": {
                      "aws:SourceArn": "arn:aws:sns:af-south-1:111111111111:source_topic_name"
                  }
              }
          }
      ]
  }
  ```

------
+  要为美国东部（弗吉尼亚北部）的 AWS Lambda 函数订阅亚太地区（香港）的 Amazon SNS 主题，请将 AWS Lambda 功能策略中的主体更改为。`sns.ap-east-1.amazonaws.com`选择加入区域包括 2019 年 3 月 20 日之后推出的任何区域，包括亚太地区（香港）、亚太地区（雅加达）、中东（巴林）、欧盟（米兰）和非洲（开普敦）。2019 年 3 月 20 日之前推出的区域默认情况下处于启用状态。  
**跨区域配送支持 AWS Lambda**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/sns/latest/dg/sns-cross-region-delivery.html)