Wrapper for Amazon SQS Worker with AWS Lambda
npm install lawos



Library to process messages from an Amazon SQS queue with an AWS Lambda worker function or your favorite other JavaScript environment. Works fine with Serverless …
``bash`
$ > npm install lawos
See lawos-serverless for an example of Lawos using Serverless.
`js
const AWS = require('aws-sdk');
const SQS = new AWS.SQS({apiVersion: '2012-11-05'});
const Lawos = require('lawos');
const Q = new Lawos('https://sqs.eu-west-1.amazonaws.com …', SQS);
Q.item(
item => new Promise(done => {
done();
})
);
module.exports.handler = function(event, context, callback) {
Q.work(
() = Promise.resolve(context.getRemainingTimeInMillis() < 500)
).then(
data => {
callback(null, data);
}
);
};
`
`js
const AWS = require('aws-sdk');
const SQS = new AWS.SQS({apiVersion: '2012-11-05'});
const Lawos = require('lawos');
const Q = new Lawos('https://sqs.eu-west-1.amazonaws.com …', SQS);
Q.list(
list => new Promise(done => {
done();
})
);
module.exports.handler = function(event, context, callback) {
Q.work(
() = Promise.resolve(context.getRemainingTimeInMillis() < 500)
).then(
data => {
callback(null, data);
}
);
};
`
`js
const AWS = require('aws-sdk');
const Lawos = require('lawos');
const Lambda = new AWS.Lambda({apiVersion: '2015-03-31'});
const SQS = new AWS.SQS({apiVersion: '2012-11-05'});
const Q = new Lawos('https://sqs.eu-west-1.amazonaws.com …', SQS, Lambda);
Q.item('fake-function-name');
// Q.list('fake-function-name');
module.exports.handler = function(event, context, callback) {
Q.work(
() = Promise.resolve(context.getRemainingTimeInMillis() < 500)
).then(
data => {
callback(null, data);
}
);
};
``
Feel free to use the code, it's released using the MIT license.