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 SNS lettres mortes Amazon pour un abonnement
Une file d'attente de lettres mortes est une SQS file d'attente Amazon qu'un SNS abonnement Amazon peut cibler pour les messages qui ne peuvent pas être envoyés 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 plus d’informations, consultez Files d'attente pour les SNS lettres mortes sur Amazon et Rétentatives de livraison de SNS messages Amazon.
Cette page explique comment vous pouvez utiliser le AWS Management Console, an AWS SDK AWS CLI, le et AWS CloudFormation pour configurer une file d'attente de lettres mortes pour un abonnement AmazonSNS.
Note
Pour un FIFOsujet, vous pouvez utiliser une file d'SQSattente Amazon comme file d'attente de lettres mortes pour l'abonnement AmazonSNS. FIFOles abonnements aux rubriques utilisent des FIFO files d'attente, 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 SNS rubrique Amazon nommée
MyTopic
. -
Créez une SQS file d'attente Amazon nommée
MyEndpoint
, à utiliser comme point de terminaison pour l'SNSabonnement Amazon. -
(Ignorer AWS CloudFormation) Inscrivez la file d'attente au sujet.
-
Créez une autre SQS file d'attente Amazon nommée
MyDeadLetterQueue
, à utiliser comme file d'attente de lettres mortes pour l'abonnement AmazonSNS. -
Pour accorder à Amazon l'accès SNS principal à l'SQSAPIaction Amazon, 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 SNS abonnement Amazon à l'aide du AWS Management Console
Avant de commencer le tutoriel, assurez-vous que vous remplissez les conditions préalables.
-
Connectez-vous à la SQSconsole Amazon
. -
Créez une SQS file d'attente Amazon ou utilisez une file d'attente existante et notez le ARN nom de la file d'attente dans l'onglet Détails de la file d'attente, par exemple :
arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue
Connectez-vous à la SNSconsole Amazon
. -
Dans le panneau de navigation, choisissez Abonnements.
-
Sur la page Subscriptions (Abonnements), sélectionnez un abonnement existant, puis choisissez Edit (Modifier).
-
À propos de l'édition
1234a567-bc89-012d-3e45-6fg7h890123i
page, développez la section Politique Redrive (file d'attente de lettres mortes), puis procédez comme suit :-
Choisissez Enabled (Activé).
-
Spécifiez le ARN nom d'une SQS file d'attente Amazon.
-
-
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 SNS abonnement Amazon à l'aide d'un AWS SDK
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 la section Les fichiers de configuration et d'identification partagés dans le guide de référence AWS SDKs et Tools.
L'exemple de code suivant montre comment utiliserSetSubscriptionAttributesRedrivePolicy
.
Pour configurer une file d'attente de lettres mortes pour un SNS abonnement Amazon à 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 plus d’informations, consultez le Guide de l’utilisateur AWS Command Line Interface .
-
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 JSON code 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 COMPLETE statut CREATE_.