I have a process that in a very quick period of time is publishing many SNS messages that would be processed by Lambda. However, Lambda is processing it one at the time. Is it a way to apply something similar to SQS long pooling?
I have code:
exports.saveLog = async (event) => {
console.log('Event : ', event.Records.length);
event.Records.forEach(record => {
const sql = record.Sns.Message;
...
I would like to Lambda receive a set of messages if they are published in a short period of time - Is it possible?
Amazon SNS is essentially just a pub-sub system that allows you to publish a single message that gets distributed to one or more subscribed endpoints.
To process multiple messages in a single downstream process, you can add an Amazon SQS Queue that picks up the messages from the SNS topic and a Lambda function that retrieves the messages in batches from the queue.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With