本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon SQS 主控台訂閱 Amazon SNS 主題的佇列 Amazon SQS
您可以訂閱一或多個 Amazon SQS 佇列至 Amazon SNS 主題。當您發佈訊息至主題時,Amazon SNS 會將訊息傳送至每個訂閱的佇列。Amazon SQS 會管理訂閱並處理所需的許可。如需詳細資訊,請參閱《Amazon Simple Notification Service 開發人員指南》中的什麼是 Amazon SNS?
當您訂閱 Amazon SQS 佇列至 Amazon SNS 主題時,Amazon SNS 會使用 HTTPS 將訊息轉送至 Amazon SQS。如需搭配加密的 Amazon SQS 佇列使用 Amazon SNS 的詳細資訊,請參閱設定 AWS 服務的 KMS 許可。 Amazon SQS
重要
Amazon SQS 為每個存取政策最多支援 20 個陳述式。訂閱 Amazon SNS 主題會新增一個這類陳述式。超過此金額會導致主題訂閱交付失敗。
訂閱 Amazon SNS 主題的佇列 (主控台)
在 https://console.aws.amazon.com/sqs/
開啟 Amazon SQS 主控台。 -
在導覽窗格中,選擇 Queues (佇列)。
-
在佇列清單中選擇要訂閱 Amazon SNS 主題的 佇列。
-
在 Actions (動作) 選單中選擇 Subscribe to Amazon SNS topic (訂閱 Amazon SNS 主題)。
-
從指定此佇列功能表可用的 Amazon SNS 主題中,選擇佇列的 Amazon SNS 主題。
如果未列出 SNS 主題,請選擇輸入 Amazon SNS 主題 ARN,然後輸入主題的 Amazon Resource Name (ARN)。
-
選擇 Save (儲存)。
-
若要驗證訂閱,請將訊息發佈至主題,並檢視佇列中的訊息。如需詳細資訊,請參閱《Amazon Simple Notification Service 開發人員指南》中的 Amazon SNS 訊息發佈。
跨帳戶訂閱
如果您的 Amazon SQS 佇列和 Amazon SNS 主題不同 AWS 帳戶,則需要額外的許可。
主題擁有者 (帳戶 A)
修改 Amazon SNS 主題的存取政策, AWS 帳戶 以允許 Amazon SQS 佇列的 訂閱。範例政策陳述式:
{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "sns:Subscribe", "Resource": "arn:aws:sns:us-east-1:123456789012:MyTopic" }
此政策允許帳戶111122223333
訂閱 MyTopic
。
佇列擁有者 (帳戶 B)
修改 Amazon SQS 佇列的存取政策,以允許 Amazon SNS 主題傳送訊息。範例政策陳述式:
{ "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "sqs:SendMessage", "Resource": "arn:aws:sqs:us-east-1:111122223333:MyQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-1:123456789012:MyTopic" } } }
此政策允許 MyTopic
傳送訊息至 MyQueue
。
跨區域訂閱
若要在不同的 中訂閱 Amazon SNS 主題 AWS 區域,請確定:
-
Amazon SNS 主題的存取政策允許跨區域訂閱。
-
Amazon SQS 佇列的存取政策允許 Amazon SNS 主題跨區域傳送訊息。