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.
Administración del tiempo de espera de visibilidad en Amazon SQS
Este ejemplo de código de Node.js muestra:
Cómo especificar el intervalo de tiempo durante el cual los mensajes que una cola recibe no son visibles.
El escenario
En este ejemplo, se utiliza un módulo de Node.js para administrar el tiempo de espera de visibilidad. El módulo de Node.js usa el SDK para JavaScript con el fin de administrar tiempo de espera de visibilidad mediante este método delAWS.SQS
clase de cliente:
Para obtener más información acerca del tiempo de espera de visibilidad de Amazon SQS, consulte.Tiempo de espera de visibilidaden laGuía para desarrolladores de Amazon Simple Queue Service.
Tareas previas necesarias
Para configurar y ejecutar este ejemplo, primero debe completar estas tareas:
Instale Node.js. Para obtener más información acerca de la instalación de Node.js consulte el sitio web de Node.js
. Cree un archivo de configuraciones compartidas con sus credenciales de usuario. Para obtener más información acerca de cómo crear un archivo de credenciales compartidas, consulte Carga de credenciales en Node.js desde el archivo de credenciales compartidas.
Cree una cola de Amazon SQS. Para ver un ejemplo de cómo crear una cola, consulte Uso de colas en Amazon SQS.
Envíe un mensaje a la cola. Para ver un ejemplo de cómo enviar un mensaje a una cola, consulte Envío y recepción de mensajes en Amazon SQS.
Cambio del tiempo de espera de visibilidad
Cree un módulo de Node.js con el nombre de archivo sqs_changingvisibility.js
. Asegúrese de configurar el SDK tal y como se ha indicado anteriormente. Para acceder a Amazon Simple Queue Service, cree unAWS.SQS
objeto de servicio. Recibir el mensaje de la cola
Al recibir el mensaje de la cola, cree un objeto JSON que contenga los parámetros necesarios para configurar el tiempo de espera, como la dirección URL de la cola que contiene el mensaje, el ReceiptHandle
que se devuelve cuando el mensaje se recibe y el nuevo tiempo de espera en segundos. Llame al método changeMessageVisibility
.
// Load the AWS SDK for Node.js var AWS = require('aws-sdk') // Set the region to us-west-2 AWS.config.update({ region: 'us-west-2' }) // Create the SQS service object var sqs = new AWS.SQS({ apiVersion: '2012-11-05' }) var queueURL = 'https://sqs.REGION.amazonaws.com/ACCOUNT-ID/QUEUE-NAME' var params = { AttributeNames: ['SentTimestamp'], MaxNumberOfMessages: 1, MessageAttributeNames: ['All'], QueueUrl: queueURL } sqs.receiveMessage(params, function (err, data) { if (err) { console.log('Receive Error', err) } else { // Make sure we have a message if (data.Messages != null) { var visibilityParams = { QueueUrl: queueURL, ReceiptHandle: data.Messages[0].ReceiptHandle, VisibilityTimeout: 20 // 20 second timeout } sqs.changeMessageVisibility(visibilityParams, function (err, data) { if (err) { console.log('Delete Error', err) } else { console.log('Timeout Changed', data) } }) } else { console.log('No messages to change') } } })
Para ejecutar el ejemplo, escriba lo siguiente en la línea de comandos.
node sqs_changingvisibility.js
Este código de muestra se puede encontrar aquí en GitHub