promised-sqs
Version:
A wrapper for AWS SQS to Promises
82 lines (67 loc) • 1.51 kB
Markdown
### 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)
}
)
```