Skip to content
This repository was archived by the owner on Mar 6, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions SQS_With_Lambda_Fn_Sample/ReadME.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## SQS with AWS Lambda Function as a trigger

From SQS Queue, a Lambda function can be added as a trigger for every message that is pushed into the queue with the attributes of batch size. Every message that is pushed into SQS Queue is a stringified content so when processing the message, it has to be parsed.
14 changes: 14 additions & 0 deletions SQS_With_Lambda_Fn_Sample/event/sample-event.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"Records": [
{
"messageId": "dbd99b32-ba44-4fe3-bc7c-de5767c3cd224",
"receiptHandle": "AQEB7OkfTQVDK6GX7DPIkxzSvCeNuS8hs4NqWNxmL==",
"body": "{\n\"message\":\"test\"\n}",
"messageAttributes": {},
"md5OfBody": "078cafd5f9615b359f3440a27327b8bb",
"eventSource": "aws:sqs",
"eventSourceARN": "arn:aws:sqs:<region>:<account_id>:<queue_name>",
"awsRegion": "<region>"
}
]
}
8 changes: 8 additions & 0 deletions SQS_With_Lambda_Fn_Sample/src/handlers/sqs-resolver.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
exports.handler = function(event, context, callback){
//SQS triggers with Records being an array list of message objects.
event.Records.forEach(function(element) {
//message is available in body as a stringified content.
var message = JSON.parse(element.body)
console.log(message)
})
}
17 changes: 17 additions & 0 deletions SQS_With_Lambda_Fn_Sample/template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Example of processing messages on an SQS queue with Lambda
Resources:
MySQSQueueFunction:
Type: AWS::Serverless::Function
Properties:
Handler: src/handlers/sqs-resolver.handler
Runtime: nodejs16.x
Events:
MySQSEvent:
Type: SQS
Properties:
Queue: !GetAtt MySqsQueue.Arn
BatchSize: 10
MySqsQueue:
Type: AWS::SQS::Queue