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

LaAWS SDK for JavaScript versión 3 (v3) es una reescritura de la versión 2 con algunas funciones nuevas y excelentes, incluida la arquitectura modular. Para obtener más información, consulte la Guía para desarrolladores de la versiónAWS SDK for JavaScript 3.

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.

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 con el fin de utilizar colas de mensajes erróneos mediante este método delAWS.SQSclase de cliente:

Para obtener más información acerca de las colas de mensajes erróneos de Amazon SQS, consulte.Uso de colas de mensajes muertos de Amazon SQSen laGuí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 acceder a Amazon SQS, cree unAWS.SQSobjeto de servicio. 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 muestra se puede encontrar aquí en GitHub.