Comment recréer un abonnement à une rubrique Amazon SNS « Deleted » (Supprimé) pour une file d'attente Amazon SQS sur un autre compte AWS ?

Dernière mise à jour :22/11/2021

Ma file d'attente Amazon Simple Queue Service (Amazon SQS) a été abonnée à une rubrique Amazon Simple Notification Service (Amazon SNS) d'un autre compte AWS. J'ai supprimé l'abonnement inter-comptes et le statut l'abonnement à la rubrique est désormais « Deleted » (Supprimé). Comment puis-je recréer un abonnement à la rubrique Amazon SNS supprimé pour une file d'attente Amazon SQS dans un autre compte ?

Brève description

Si vous appelez l'API Unsubscribe (Se désabonner) d'Amazon SNS à partir d'un compte qui n'est pas propriétaire de l'abonnement, l'abonnement passe au statut Deleted (Supprimé) pendant 72 heures. Tant que l'abonnement à la rubrique SNS a le statut Deleted (Supprimé), le compte propriétaire de l'abonnement ne peut pas réabonner le même point de terminaison à la rubrique.

Après 72 heures, Amazon SNS efface l'abonnement Deleted (Supprimé) et le compte propriétaire de l'abonnement peut réabonner le même point de terminaison à la rubrique.

Si vous ne souhaitez pas attendre 72 heures pour vous réabonner, vous pouvez recréer manuellement l'abonnement en effectuant l'une des opérations suivantes.

Remarque : nous vous conseillons une bonne pratique qui consiste à exécuter les appels d'API Subscribe (S'abonner) et Unsubscribe (Se désabonner) à partir du même compte AWS. Lorsque vous appelez l'API Subscribe (S'abonner), le compte AWS que vous utilisez pour effectuer l'appel devient le propriétaire de l'abonnement.

Solution

Important : les procédures suivantes s'appliquent aux abonnés aux points de terminaison HTTP et HTTPS. Elle ne s'applique pas aux abonnés de la fonction AWS Lambda.

Envoyez une demande de méthode HTTP GET à l'URL SubscribeURL dans le message UnsubscribeConfirmation que vous avez reçu

1.    Dans le message UnsubscribeConfirmation envoyé à la file d'attente SQS après la suppression de l'abonnement, recherchez l'URL SubscribeURL. Ensuite, copiez et collez l'URL dans un document texte.

2.    Envoyez une demande de méthode HTTP GET à l'URL SubscribeURL.

Exemple de demande de méthode 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>"

Appelez l'API Subscribe (S'abonner) d'Amazon SNS à partir du compte AWS propriétaire de la rubrique SNS, puis confirmez l'abonnement

1.    Appelez l'API Subscribe (S'abonner) d'Amazon SNS depuis le compte AWS qui possède la rubrique SNS.

2.    Faites en sorte qu'un utilisateur AWS disposant des autorisations nécessaires pour lire les messages à partir de la file d'attente SQS confirme l'abonnement.

Créez une nouvelle rubrique Amazon SNS pour remplacer la rubrique actuelle, puis abonnez-vous à la nouvelle rubrique