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

1 分的閱讀內容
0

我想要在其他 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 官方已更新 9 個月前