Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration d'une file d'attente de lettres mortes Amazon SNS pour un abonnement
Une file d'attente de lettres mortes est une file d'attente Amazon SQS qu'un abonnement Amazon SNS peut cibler pour les messages qui ne peuvent pas être remis aux abonnés avec succès. Les messages qui ne peuvent pas être remis en raison d'erreurs du client ou d'erreurs de serveur sont conservés dans la file d'attente de lettres mortes pour une analyse ou un retraitement ultérieur. Pour de plus amples informations, consultez Files d'attente de lettres mortes (DLQ)) d'Amazon SNS et Nouvelle tentative de distribution des messages Amazon SNS.
Cette page explique comment utiliser le AWS Management Console, un AWS SDK, le AWS CLI, et comment configurer une file AWS CloudFormation d'attente de lettres mortes pour un abonnement Amazon SNS.
Note
Pour une rubrique FIFO, vous pouvez utiliser une file d'attente Amazon SQS en tant que file d'attente de lettres mortes pour l'abonnement Amazon SNS. Les abonnements aux rubriques FIFO utilisent des files d'attente FIFO, tandis que les abonnements aux rubriques standard utilisent des files d'attente standard.
Prérequis
Avant de configurer une file d'attente de lettres mortes, remplissez les conditions préalables suivantes :
-
Créez une rubrique Amazon SNS nommée
MyTopic
. -
Créez une file d'attente Amazon SQS nommée
MyEndpoint
, à utiliser comme point de terminaison pour l'abonnement Amazon SNS. -
(Ignorer AWS CloudFormation) Inscrivez la file d'attente au sujet.
-
Créez une autre file d'attente Amazon SQS nommée
MyDeadLetterQueue
, que vous utiliserez en tant que file d'attente de lettres mortes pour l'abonnement Amazon SNS. -
Pour accorder au principal Amazon SNS l'accès à l'action d'API Amazon SQS, définissez la politique de file d'attente suivante pour
MyDeadLetterQueue
.{ "Statement": [{ "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue", "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:us-east-2:123456789012:MyTopic" } } }] }
Pour configurer une file d'attente de lettres mortes pour un abonnement Amazon SNS à l'aide du AWS Management Console
Avant de commencer le tutoriel, assurez-vous que vous remplissez les conditions préalables.
-
Connectez-vous à la console Amazon SQS
. -
Créez une file d'attente Amazon SQS ou utilisez une file d'attente existante et notez l'ARN de la file d'attente sous l'onglet Détails de la file d'attente, par exemple :
arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue
Connectez-vous à la console Amazon SNS
. -
Dans le panneau de navigation, choisissez Abonnements.
-
Sur la page Subscriptions (Abonnements), sélectionnez un abonnement existant, puis choisissez Edit (Modifier).
-
Sur la page Modifier
1234a567-bc89-012d-3e45-6fg7h890123i
, développez la section Politique de redirection (file d'attente de lettres mortes), puis procédez comme suit :-
Choisissez Enabled (Activé).
-
Spécifiez l'ARN d'une file d'attente Amazon SQS.
-
-
Sélectionnez Enregistrer les modifications.
Votre abonnement est configuré pour utiliser une file d'attente de lettres mortes.
Pour configurer une file d'attente de lettres mortes pour un abonnement Amazon SNS à l'aide d'un SDK AWS
Avant d'exécuter cet exemple, assurez-vous de respecter les conditions préalables requises.
Pour utiliser un AWS SDK, vous devez le configurer avec vos informations d'identification. Pour plus d'informations, consultez Les fichiers de configuration et d'informations d'identification partagés dans le AWS Guide de référence des kits SDK et des outils.
L'exemple de code suivant montre comment utiliserSetSubscriptionAttributesRedrivePolicy
.
Pour configurer une file d'attente de lettres mortes pour un abonnement Amazon SNS à l'aide du AWS CLI
Avant de commencer le tutoriel, assurez-vous que vous remplissez les conditions préalables.
-
Installation et configuration de l' AWS CLI. Pour de plus amples informations, consultez le AWS Command Line Interface Guide de l’utilisateur.
-
Utilisez la commande suivante de l’.
aws sns set-subscription-attributes \ --subscription-arn arn:aws:sns:us-east-2:123456789012:MyEndpoint:1234a567-bc89-012d-3e45-6fg7h890123i --attribute-name RedrivePolicy --attribute-value "{\"deadLetterTargetArn\": \"arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue\"}"
Pour configurer une file d'attente de lettres mortes pour un abonnement Amazon SNS à l'aide de AWS CloudFormation
Avant de commencer le tutoriel, assurez-vous que vous remplissez les conditions préalables.
-
Copiez le code JSON suivant dans un fichier nommé
MyDeadLetterQueue.json
.{ "Resources": { "mySubscription": { "Type" : "AWS::SNS::Subscription", "Properties" : { "Protocol": "sqs", "Endpoint": "arn:aws:sqs:us-east-2:123456789012:MyEndpoint", "TopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "RedrivePolicy": { "deadLetterTargetArn": "arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue" } } } } }
-
Connectez-vous à la console AWS CloudFormation
. -
Sur la page Select Template (Sélectionner un modèle), choisissez Upload a template to Amazon S3 (Télécharger un modèle sur Amazon S3), puis votre fichier
MyDeadLetterQueue.json
, puis Next (Suivant). -
Sur la page Specify Details (Spécifier les détails), saisissez
MyDeadLetterQueue
comme Stack Name (Nom de pile), puis choisissez Next (Suivant). -
Dans la page Options, choisissez Next (Suivant).
-
Sur la page Review (Vérification), choisissez Create (Créer).
AWS CloudFormation commence à créer la
MyDeadLetterQueue
pile et affiche le statut CREATE_IN_PROGRESS. Lorsque le processus est terminé, AWS CloudFormation affiche le statut CREATE_COMPLETE.