將 Amazon SNS 訊息傳送至 Amazon SQS 佇列或位於不同區域的 AWS Lambda 函數 - Amazon Simple Notification Service

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

將 Amazon SNS 訊息傳送至 Amazon SQS 佇列或位於不同區域的 AWS Lambda 函數

Amazon SNS 支援跨區域交付,適用於預設啟用的區域和加入區域。如需 Amazon SNS 支援的 AWS 區域 (包括選擇加入區域) 的目前清單,請參閱 Amazon Web Services 一般參考 中的 Amazon Simple Notification Service 端點和配額

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 命令。

選擇加入區域

Amazon SNS 支援下列選擇加入區域:

區域名稱 區域

非洲 (開普敦) 區域

af-south-1

亞太區域 (香港) 區域

ap-east-1

亞太區域 (海德拉巴)

ap-south-2

亞太區域 (雅加達)

ap-southeast-3

亞太區域 (墨爾本) 區域

ap-southeast-4

Europe (Milan) Region

eu-south-1

歐洲 (西班牙) 區域

eu-south-2

歐洲 (蘇黎世) 區域

eu-central-2

以色列 (特拉維夫) 區域

il-central-1

Middle East (Bahrain) Region

me-south-1

中東 (阿拉伯聯合大公國) 區域

me-central-1

如需啟用選擇加入區域的詳細資訊,請參閱 中的管理 AWS 區域Amazon Web Services 一般參考。

當您使用 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
    跨區域遞送 支援/不支援
    預設啟用區域至選擇加入區域

    支援在佇列的服務主體使用 sns.<opt-in-region>.amazonaws.com

    選擇加入區域至預設啟用區域

    支援在佇列的服務主體使用 sns.<opt-in-region>.amazonaws.com

    選擇加入區域至選擇加入區域

    不支援

    以下的存取政策陳述式範例允許選擇加入區域 (af-south-1) 中的 Amazon SNS 主題遞送至預設啟用區域 (us-east-1) 中的 Amazon SQS 佇列。它在路徑 Statement/Principal/Service 下方包含必要的區域化服務主體組態。

    { "Version": "2008-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-east-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
    跨區域遞送 支援/不支援
    預設啟用區域至選擇加入區域 不支援

    選擇加入區域至預設啟用區域

    支援在 Lambda 函數的服務主體使用 sns.<opt-in-region>.amazonaws.com

    選擇加入區域至選擇加入區域 不支援