如何在其她其她AWS 帳戶中為 Amazon SQS 佇列重新建立「刪除的」Amazon SNS 主題訂閱?

1 分的閱讀內容
0

我的 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 函數訂閱用戶

將 HTTP GET 方法請求傳送至您在 UnsubscribeConfirmation 訊息中所收到的 SubscribeURL

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>"

從擁有 SNS 主題的 AWS 帳戶呼叫 Amazon SNS 訂閱 API,然後確認訂閱

1.    從擁有 SNS 主題的 AWS 帳戶呼叫 Amazon SNS 訂閱 API

2.    讓具有讀取 SQS 佇列訊息權限的 AWS 使用者確認訂閱

建立新的 Amazon SNS 主題以取代目前的主題,然後訂閱新主題

1.    建立新的 SNS 主題,以取代目前的主題。

2.    將 SQS 佇列訂閱至新主題


相關資訊

刪除 Amazon SNS 訂閱和主題

將 Amazon SNS 訊息傳送至不同帳戶中的 Amazon SQS 佇列

扇出至 Amazon SQS 佇列

AWS 官方
AWS 官方已更新 2 年前