我的 Amazon Simple Queue Service (Amazon SQS) 佇列訂閱至其他 AWS 帳戶中的 Amazon Simple Notification Service (Amazon SNS) 主題。我刪除跨帳戶訂閱,且主題訂閱現在處於「刪除的」狀態。如何在其他 AWS 帳戶中為 Amazon SQS 佇列重新建立已刪除的 Amazon SNS 主題訂閱?
如果您從沒有訂閱的帳戶呼叫 Amazon SNS 取消訂閱 API,則此訂閱會進入刪除的狀態達 72 小時之久。SNS 主題訂閱處於刪除的狀態時,擁有訂閱的帳戶無法重新將相同的端點訂閱至該主題。
72 小時後,Amazon SNS 會清除刪除的狀態,且擁有訂閱的帳戶可以重將相同的端點訂閱至該主題。
如果您不想等待 72 小時再重新訂閱,則可以執行下列任一項步驟,手動重新建立訂閱。
注意: 最佳實務是從相同 AWS 帳戶執行訂閱和取消訂閱 API 呼叫。呼叫訂閱 API 時,用於進行呼叫的 AWS 帳戶會成為訂閱擁有者。
重要事項: 以下程序適用於 HTTP 和 HTTPS 端點訂閱用戶。此程序不適用於 AWS Lambda 函數訂閱用戶。
1. 在您刪除訂閱後傳送至 SQS 佇列的 UnsubscribeConfirmation 訊息中,尋找 SubscribeURL。然後將 URL 複製並貼上文字文件中。
2. 將 HTTP GET 方法請求傳送至 SubscribeURL。
HTTP GET 方法請求範例
curl -X GET "https://sns.us-west-2.amazonaws.com/?Action=ConfirmSubscription&TopicArn=arn:aws:sns:us-west-2:123456789012:MyTopic&Token=<token>"
1. 從擁有 SNS 主題的 AWS 帳戶呼叫 Amazon SNS 訂閱 API。
2. 讓具有讀取 SQS 佇列訊息權限的 AWS 使用者確認訂閱。
1. 建立新的 SNS 主題,以取代目前的主題。
2. 將 SQS 佇列訂閱至新主題。
刪除 Amazon SNS 訂閱和主題
將 Amazon SNS 訊息傳送至不同帳戶中的 Amazon SQS 佇列
扇出至 Amazon SQS 佇列