How to GET and POST data from DynamoDB table using node.js and AWS Lambda(Serverless function)?

AWS Lambda is a compute service that lets you run code without provisioning or managing servers.

Amazon DynamoDB is a fast and flexible nonrelational database service for all applications that need consistent, single-digit millisecond latency at any scale.

Amazon API Gateway is a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.

Let us see how we can GET and POST Data in Node.JS with the Serverless approach using AWS LambdaAPI Gateway & DynamoDB.

Step 1) Sign in to your AWS Management Console and Go to Services ->Compute -> Lambda


Step 2) Create a Lambda function and enter details as below.

In the role, create a custom role with DynamoDB Full Access Policy in AWS IAM.



Step 3) Go to DynamoDB and Create a table.


Click on Create table:


Enter the table name and primary key as shown below:


Click on create.

Your table has been created.


Add other required columns like author name and book name.


Step 4) Go back to your Lambda function. Add the following code for ‘POST’:


Step 5) Add Table name in Lambda Environment Variables.


Step 6) Configure Test Event to execute function with example data.


Add test data and click on create:


Step 7) Now Save and Run the function: Click on “Test”

Finally your lambda function is executed successfully,


Go to your DynamoDB table and check the data:



Step 8) Create another Lambda function  to fetch the ‘GET‘ DB details:


Click on Create in above to create a new function.

Add the following code as shown below:

We will use scan method to query DynamoDB table



Add the Table Name as environment variable for this function also as done before.


And Success!!

Click on TEST

You can easily GET details from DynamoDB Table


So now our POST and GET are working!!!


Any queries?

Please post your comment below!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s