Last active
February 12, 2021 16:42
-
-
Save danyim/6708c47c7dc8de30224c to your computer and use it in GitHub Desktop.
AWS Lambda functions to interact with SQS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} | |
} | |
}); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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