Polling messages from AWS SQS
Long polling helps reduce your cost of using Amazon SQS by reducing the number of empty responses (when there are no messages available to return in reply to a ReceiveMessage request sent to an Amazon SQS queue) and eliminating false empty responses (when messages are available in the queue but aren't included in the response):
See here for more information.
$ npm install --save aws-sqs-poll
const awsSqsPoll = require('aws-sqs-poll');
awsSqsPoll('QueueName')
// ["MessageId": "28f61fd2-b9ca-4cb9-879a-71ea8bce4636",
// "ReceiptHandle": "AQEB9mnsxtAZlwnDERxn3yADAP96QRe0KPbqaKXLvvchqmD4jAr",
// "MD5OfBody": "098f6bcd4621d373cade4e832627b4f6",
// "Body": "test"]
awsSqsPoll('QueueName', {AwsAccountId: '123456789012', numberOfMessages: 1, timeout: 20, json: false})
// ["MessageId": "28f61fd2-b9ca-4cb9-879a-71ea8bce4636",
// "ReceiptHandle": "AQEB9mnsxtAZlwnDERxn3yADAP96QRe0KPbqaKXLvvchqmD4jAr",
// "MD5OfBody": "098f6bcd4621d373cade4e832627b4f6",
// "Body": "test"]
Type: string
Type: object
Optional
Type: number
Number of messages to be retrieved in 1 polling action. When polling a queue with few messages (< 1000 messages), you will get less messages then the numberOfMessages parameter.
Type: number
Timeout (polling time) to listen to the queue for new messages.
Type: string
Optional
AWS account ID of the account that created the queue.
Type: boolean
Optional
Flag for converting the data back to JSON format
MIT © Simon Jang