Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de una cola de SNS cartas muertas de Amazon para una suscripción
Una cola de cartas sin salida es una cola de Amazon a la SQS que puede dirigirse una SNS suscripción de Amazon para los mensajes que no se pueden entregar correctamente a los suscriptores. Los mensajes que no se pueden entregar debido a errores del cliente o errores del servidor se mantienen en la cola de mensajes fallidos para su posterior análisis o reprocesamiento. Para obtener más información, consulte Colas de SNS cartas muertas de Amazon y Amazon vuelve a intentarlo con la entrega de SNS mensajes.
En esta página se muestra cómo puedes usar las AWS Management Console AWS SDK AWS CLI, las y AWS CloudFormation para configurar una cola de letra muerta para una suscripción de Amazon. SNS
nota
Para un FIFOtema, puedes usar una cola de Amazon como SQS cola de letra muerta para la suscripción de Amazon. SNS FIFOlas suscripciones por temas usan FIFO colas y las suscripciones por temas estándar usan colas estándar.
Requisitos previos
Antes de configurar una cola de mensajes fallidos, complete los siguientes requisitos previos:
-
Crea un SNS tema de Amazon llamado
MyTopic
. -
Crea una SQS cola de Amazon con el nombre
MyEndpoint
para usarla como punto final de la SNS suscripción de Amazon. -
(Omitir para AWS CloudFormation) Suscribe la cola al tema.
-
Crea otra SQS cola de Amazon con el nombre
MyDeadLetterQueue
para utilizarla como cola de letra muerta para la suscripción de Amazon. SNS -
Para conceder a Amazon el acceso SNS principal a la SQS API acción de Amazon, establece la siguiente política de colas para
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" } } }] }
Para configurar una cola de cartas sin salida para una suscripción de Amazon SNS mediante el AWS Management Console
Asegúrese de completar los requisitos previos antes de comenzar con este tutorial.
-
Inicia sesión en la SQSconsola de Amazon
. -
Crea una SQS cola de Amazon o utiliza una cola existente y anota la ARN cola en la pestaña Detalles de la cola, por ejemplo:
arn:aws:sqs:us-east-2:123456789012:MyDeadLetterQueue
Inicia sesión en la SNSconsola de Amazon
. -
En el panel de navegación, seleccione Subscriptions (Suscripciones).
-
En la página Subscriptions (Suscripciones), seleccione una suscripción existente y haga clic en Edit (Editar).
-
En la edición
1234a567-bc89-012d-3e45-6fg7h890123i
página, amplíe la sección Política de Redrive (cola de cartas muertas) y, a continuación, haga lo siguiente:-
Elija Enabled (Habilitado).
-
Especifica ARN la SQS cola de Amazon.
-
-
Elija Guardar cambios.
Su suscripción está configurada para usar una cola de mensajes fallidos.
Para configurar una cola de espera para una suscripción de Amazon SNS mediante un AWS SDK
Asegúrese de completar los requisitos previos antes de ejecutar este ejemplo.
Para usar una AWS SDK, debe configurarla con sus credenciales. Para obtener más información, consulte Los archivos de configuración y credenciales compartidos en la Guía de referencia de herramientas AWS SDKs y herramientas.
En el siguiente ejemplo de código se muestra cómo usarloSetSubscriptionAttributesRedrivePolicy
.
Para configurar una cola de cartas sin salida para una suscripción de Amazon SNS mediante el AWS CLI
Asegúrese de completar los requisitos previos antes de comenzar con este tutorial.
-
Instalar y configurar la AWS CLI. Para obtener más información, consulte la Guía del usuario de AWS Command Line Interface .
-
Use el siguiente comando.
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\"}"
Para configurar una cola de cartas sin salida para una suscripción de Amazon mediante SNS AWS CloudFormation
Asegúrese de completar los requisitos previos antes de comenzar con este tutorial.
-
Copie el siguiente JSON código en un archivo denominado
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" } } } } }
-
Inicie sesión en la consola de AWS CloudFormation
. -
En la página Select Template (Seleccionar plantilla), elija Upload a template to Amazon S3 (Cargar una plantilla en Amazon S3), seleccione el archivo
MyDeadLetterQueue.json
y haga clic en Next (Siguiente). -
En la página Specify Details (Especificar detalles), escriba
MyDeadLetterQueue
en Stack Name (Nombre de pila) y haga clic en Next (Siguiente). -
En la página Opciones, seleccione Siguiente.
-
En la página Review (Revisar), elija Create (Crear).
AWS CloudFormation comienza a crear la
MyDeadLetterQueue
pila y muestra el estado CREATE_IN_ PROGRESS. Cuando se completa el proceso, AWS CloudFormation muestra el estado CREATE_ COMPLETE.