UNPKG

promised-sqs

Version:
82 lines (67 loc) 1.51 kB
### Promised AWS SQS A simple wrapper for AWS SQS to turn calls into promises for easy async handling. For a more in detail document about all associated calls please refer to the AWS Docs: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html #### Constructor To create a new SQS object we require the AWS config. ``` var sqs = require('promised-sqs')({ apiVersion: '', accessKeyId: '', secretAccessKey: '', region: '', sslEnabled: true }) ``` An added nicety if you're usually only working with a single queue like me you can add the queue URL follow by the AWS config. ``` var sqs = require('promised-sqs')('http://queUrl.boom', { apiVersion: '', accessKeyId: '', secretAccessKey: '', region: '', sslEnabled: true }) ``` #### Usage ##### Promise Format ``` sqs.setQueueAttributes({ Attributes: { MessageRetentionPeriod: '1209600' } }).then(function(data){ console.log(data) }).catch(function(err){ console.error(err) }) sqs.receiveMessage({ MaxNumberOfMessages: 1, AttributeNames: ['All'], VisibilityTimeout: 0, WaitTimeSeconds: 0 } ).then(function(data){ console.log(data) }).catch(function(err){ console.error(err) }) ``` ##### Co Format ``` var co = require('co') co(function*(){ try{ var data = yield sqs.receiveMessage({ MaxNumberOfMessages: 1, AttributeNames: ['All'], VisibilityTimeout: 0, WaitTimeSeconds: 0 }) console.log('data', data) }catch(err){ console.error(err) } ) ```