Uso de colas de mensajes fallidos en Amazon SQS - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Uso de colas de mensajes fallidos en Amazon SQS

JavaScript code example that applies to Node.js execution

Este ejemplo de código de Node.js muestra:

  • Cómo utilizar una cola para recibir y conservar mensajes de otras colas que las colas no pueden procesar.

El escenario

Una cola de mensajes fallidos es una cola a la que otras colas (de origen) pueden enviar mensajes que no se han podido procesar correctamente. Puede apartar y aislar estos mensajes en la cola de mensajes fallidos para determinar por qué no se procesaron correctamente. Debe configurar individualmente cada cola de origen que envía mensajes a una cola de mensajes fallidos. Varias colas pueden dirigirse a una única cola de mensajes fallidos.

En este ejemplo, se utiliza un módulo de Node.js para dirigir mensajes a una cola de mensajes fallidos. El módulo de Node.js usa el SDK para JavaScript para usar las colas de mensajes fallidos mediante este método de la clase de cliente de AWS.SQS:

Para obtener más información sobre las colas de mensajes fallidos en Amazon SQS, consulte Uso de colas de mensajes fallidos en Amazon SQS en la Guía para desarrolladores de Amazon Simple Queue Service.

Tareas previas necesarias

Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:

Configuración de colas de origen

Después de crear una cola para que sirva de cola de mensajes fallidos, deberá configurar las demás colas que dirigen los mensajes no procesados a la cola de mensajes fallidos. Para ello, especifique una política de redireccionamiento que identifique la cola que debe utilizarse como cola de mensajes fallidos y el número máximo de recepciones por mensaje individual antes de que se enruten hacia la cola de mensajes fallidos.

Cree un módulo de Node.js con el nombre de archivo sqs_deadletterqueue.js. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para obtener acceso a Amazon SQS, cree un objeto de servicio de AWS.SQS. Cree un objeto JSON que contenga los parámetros necesarios para actualizar atributos de cola, como el parámetro RedrivePolicy que especifica tanto el ARN de la cola de mensajes fallidos y el valor de maxReceiveCount. Especifique también la cola de origen de la URL que desea configurar. Llame al método setQueueAttributes.

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create the SQS service object var sqs = new AWS.SQS({ apiVersion: "2012-11-05" }); var params = { Attributes: { RedrivePolicy: '{"deadLetterTargetArn":"DEAD_LETTER_QUEUE_ARN","maxReceiveCount":"10"}', }, QueueUrl: "SOURCE_QUEUE_URL", }; sqs.setQueueAttributes(params, function (err, data) { if (err) { console.log("Error", err); } else { console.log("Success", data); } });

Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.

node sqs_deadletterqueue.js

Este código de ejemplo se puede encontrar aquí en GitHub.