AWS Lambda is a serverless compute service that lets you run code without provisioning or managing servers. AWS SAM (Serverless Application Model) is an open-source framework that makes building and deploying serverless applications easier. In this guide, we will walk through setting up an AWS Lambda function using Node.js and AWS SAM.
Step 1: Create a New AWS SAM Application
To begin, open a terminal and run:
sam init
Select the following options when prompted:
Template source: AWS Quick Start Templates
Runtime: nodejs22.x (or latest available)
Package type: Zip
Project name: aws-sam-node-lambda
Once completed, navigate to the project directory:
cd aws-sam-node-lambda
Step 2: Understanding the Project Structure
Your SAM project contains several files and folders:
aws-sam-node-lambda/ ├── functions │ ├──hello-world/ │ ├── app.js # Lambda function code │ ├── package.json # Node.js dependencies │ ├── tests/ # Unit tests ├── template.yaml # AWS SAM template defining resources
The template.yaml file is crucial as it defines your AWS resources.
Step 3: Writing the Lambda Function
Modify hello-world/app.js to:
exports.lambdaHandler = async (event, context) => { return { statusCode: 200, body: JSON.stringify({ message: "Hello from AWS Lambda with Node.js and SAM!" }) }; };
Step 4: Build and Test Locally
Before deploying, build the function:
sam build
To invoke it locally:
sam local invoke HelloWorldFunction
Expected output:
{ "statusCode": 200, "body": "{\"message\":\"Hello from AWS Lambda with Node.js and SAM!\"}" }
Top comments (0)