別の AWS アカウントの Amazon SQS キューの削除済み Amazon SNS トピックサブスクリプションを再作成したいと考えています。
サブスクリプションを所有していないアカウントから Amazon SNS Unsubscribe API を呼び出すと、サブスクリプションのステータスは 72 時間にわたり削除済みになります。SNS トピックサブスクリプションのステータスが削除済みの場合、サブスクリプションを所有するアカウントでは、同じエンドポイントをトピックに再サブスクライブすることができません。
72 時間が経過したら、Amazon SNS は削除済みサブスクリプションをクリアし、サブスクリプションを所有するアカウントで同じエンドポイントをトピックに再サブスクライブできるようになります。
再サブスクライブするために 72 時間待ちたくない場合は、次のいずれかを実行して手動でサブスクリプションを再作成できます。
注: ベストプラクティスとして、同じ AWS アカウントから Subscribe API コールと Unsubscribe API コールを実行するのがベストプラクティスです。Subscribe API を呼び出す場合、呼び出しに使用する AWS アカウントがサブスクリプションの所有者になります。
重要: 次の手順は、HTTP および HTTPS エンドポイントのサブスクライバーに適用されます。AWS Lambda 関数のサブスクライバーには適用されません。
サブスクリプションを削除した後に SQS キューに送信された UnsubscribeConfirmation メッセージで、SubscribeURL を見つけます。次に、URL をコピーしてテキストドキュメントに貼り付けます。
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>"
Deleting an Amazon SNS subscription and topic
Sending Amazon SNS messages to an Amazon SQS queue in a different account
Fanout to Amazon SQS queues