Skip to content

Instantly share code, notes, and snippets.

@danyim
Last active February 12, 2021 16:42
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danyim/6708c47c7dc8de30224c to your computer and use it in GitHub Desktop.
Save danyim/6708c47c7dc8de30224c to your computer and use it in GitHub Desktop.
AWS Lambda functions to interact with SQS
var QUEUE_URL = 'https://sqs.us-east-1.amazonaws.com/{{ YOUR SQS }}/bbs-sqs';
var NUM_MSGS_TO_PULL = 1;
var AWS = require('aws-sdk');
var sqs = new AWS.SQS({region : 'us-east-1'});
exports.handler = function(event, context) {
var recvParams = {
QueueUrl: QUEUE_URL,
MaxNumberOfMessages: NUM_MSGS_TO_PULL
};
var deleteParams = {
QueueUrl: QUEUE_URL,
ReceiptHandle: null // Required field to be set later
};
sqs.receiveMessage(recvParams, function(err,data){
if(err) {
console.log('error:',"Fail recv Message " + err);
context.done('error', "ERROR Recieve SQS"); // ERROR with message
}
else {
if(!data.Messages || data.Messages.length === 0) {
console.log('No messages on queue');
context.done(null, null); // SUCCESS
}
else {
var message = '';
for(var k = 0; k < data.Messages.length; k++) {
message = data.Messages[k];
//console.log((k + 1) + ': ' + data.Messages[k]); //.Messages[0].Body);
console.log(message.Body);
deleteParams.ReceiptHandle = message.ReceiptHandle;
sqs.deleteMessage(deleteParams, function(err2, data2) {
if(err2) {
console.log('error:',"Fail delete Message " + err);
}
else {
console.log('Message deleted');
}
});
}
context.done(null, message.Body); // SUCCESS
}
}
});
}
var QUEUE_URL = 'https://sqs.us-east-1.amazonaws.com/{{ YOUR SQS }}/bbs-sqs';
var AWS = require('aws-sdk');
var sqs = new AWS.SQS({region : 'us-east-1'});
exports.handler = function(event, context) {
var params = {
MessageBody: JSON.stringify(event),
QueueUrl: QUEUE_URL
};
sqs.sendMessage(params, function(err,data){
if(err) {
console.log('error:',"Fail Send Message " + err);
context.done('error', "ERROR Put SQS"); // ERROR with message
}
else{
console.log('putting into queue ', data.MessageId);
console.log(params.MessageBody);
context.done(null,'Successfully placed into queue'); // SUCCESS
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment