Lädt...


🔧 Building and Triggering an AWS Lambda Function for Beginners!


Nachrichtenbereich: 🔧 Programmierung
🔗 Quelle: dev.to

Image description

What is AWS Lambda?

Lambda allows us to run our code on a high-availability compute infrastructure without provisioning or managing servers. It is a serverless compute service that is highly scalable, cost-efficient and ideal for event-driven architecture

Asynchronous Function

Lambda can be used in many things

  1. Data Processing
  • Process real-time streaming data from services like Amazon Kinesis or Amazon SQS.
  • Transform and store data in databases or data lakes.

2 Web Applications

  • Build and deploy RESTful APIs with AWS API Gateway.
  • Serve as backend logic for lightweight web apps.

3 Event-Driven Tasks

  • Trigger tasks such as image resizing, sending notifications, or cleaning logs when files are uploaded to S3

In this guide, we'll explore AWS Lambda, create a basic function, test it, and finally implement a useful notification simulation.

Now we're going to test the AWS Lambda and to do this we need to set up a few things. Follow these steps:

Step 1: Create a Lambda Function

  1. Log in to the AWS Management Console
    Go to aws.amazon.com to sign up if you don't have an account

  2. Navigate to the AWS Lambda service.

Note: You can easily navigate it by searching it on the search bar [Alt + S]
3 Click 'Create a Function'

Use cases

4 In the Basic Information pane let's name it 'myLambdaFunction'
Note: You can name it the way you want

5 For Runtime, choose either Node.js 22.x or Python 3.13.
In this case I'll be using Node.js

After setting up that should look like this
Image description

6 Click 'Create Function'
After doing so it should look like this

Image description

Step 2: Create a simple testing code

This snippet came from the documentation as a way to test waters but later, I will show some application

export const handler = async (event, context) => {

  const length = event.length;

  const width = event.width;
  let area = calculateArea(length, width);
  console.log(`The area is ${area}`);

  console.log('CloudWatch log group: ', context.logGroupName);

  let data = {
    "area": area,
  };
    return JSON.stringify(data);

  function calculateArea(length, width) {
    return length * width;
  }
};
  • Deploy the code by clicking Deploy

Image description

  • The function is named handler with two arguments event and context
  • An event in Lambda is JSON (JavaScript Object Notation) that bears our data
  • In this case we'll create an event in the console by entering a JSON formatted document with two key-value pairs. 'length' and 'width'
  • The second argument we take is context which contains information about the function invocation and execution environment. In this sample it uses the '.logGroupName' to output the name of its CloudWatch

Step 3: Create a Test Event

  1. In the Test Event section you can choose Create test event

Image description

  1. After clicking that you should see this.

Image description

  1. Lets name it 'myTestEvent'
  2. In the event JSON section, replace the default JSON with the following:
{
  "length": 6,
  "width": 7
}

So as you can see it's all coming together right since this is what we're chaining in the event argument

  1. Choose Save

To test this code just click the run icon

Image description

and voila you have tested your first lambda function!

Now for the last part we're going to create something useful but still faithful to this structure

Now let's change the code with this:

export const handler = async (event, context) => {

  const { email, password } = event;

  if (!email || !password) {
      return {
          statusCode: 400,
          body: JSON.stringify({ message: "Email and password are required." }),
      };
  }

  const notiMessage = `Notification sent to: ${email}`;
  console.log(notiMessage);
  console.log('CloudWatch log group: ', context.logGroupName);
  return {
      statusCode: 200,
      body: JSON.stringify({
          message: "Notification triggered successfully.",
          details: notiMessage,
      }),
  };
}

Here's what this function does.

  • So first instead of repeatedly typing the event we declared right away all the things we're expecting to come 'email' & 'password'
  • Then create a simple if validation to check if the 'email' & 'password' has a value
  • We still use the CloudWatch to monitor the logs
  • And if all goes as planned the body would return a success message that has a binded value of static string and the the details with the binded value of the const notiMessage

Now for the test event lets just change the keys and values

{
  "email": "[email protected]",
  "password": "7hi$isAT3stSimUl5t0n"
}

Then we run it and it should ouput something like this:

Image description

If you want to advance you can use Nodemailer and to actually send an actual email message as well as implementation of asynchronous programming. For documentations just follow the links here:

...

🔧 Building and Triggering an AWS Lambda Function for Beginners!


📈 63.1 Punkte
🔧 Programmierung

🔧 Evaluation metric, objective function, loss function, cost function, scoring function, error function


📈 44.73 Punkte
🔧 Programmierung

🔧 Triggering Lambda function with Application Load Balancer


📈 41.6 Punkte
🔧 Programmierung

🔧 Lambda vs Lambda vs Lambda: A Journey Through AWS Serverless GenAI Application Deployments


📈 39 Punkte
🔧 Programmierung

🔧 Triggering AWS Lambda Functions with Voice Commands Using Amazon Alexa


📈 38.14 Punkte
🔧 Programmierung

🔧 Spring Boot 3 application on AWS Lambda - Part 5 Introduction to AWS Lambda Web Adapter


📈 33.31 Punkte
🔧 Programmierung

🔧 Spring Boot 3 application on AWS Lambda - Part 6 Develop application with AWS Lambda Web Adapter


📈 33.31 Punkte
🔧 Programmierung

🔧 Enhancing AWS Lambda with AWS Lambda Powertools: A Complete Guide to CRUD Operations in DynamoDB


📈 33.31 Punkte
🔧 Programmierung

🔧 How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers


📈 33.31 Punkte
🔧 Programmierung

🔧 Spring Boot 3 application on AWS Lambda - Part 9 Develop application with Spring Cloud Function AWS


📈 31.09 Punkte
🔧 Programmierung

🔧 Building an AI powered and Serverless meal planner with OpenAI, AWS Step functions, AWS Lambda and CDK


📈 30.21 Punkte
🔧 Programmierung

🔧 Day 22 of 100 Days of Cloud: Mastering AWS Lambda and Lambda Layers


📈 29.05 Punkte
🔧 Programmierung

🔧 AWS Lambda support Node.js 18 now. Should we update the version of Node.js in the Lambda runtime?


📈 27.83 Punkte
🔧 Programmierung

🔧 How to optimize your lambda functions with AWS Lambda power tuning


📈 27.83 Punkte
🔧 Programmierung

🔧 Supercharge Your AWS Lambda Game With Lambda Powertools


📈 27.83 Punkte
🔧 Programmierung

🔧 Lambda Internals: Why AWS Lambda Will Not Help With Machine Learning


📈 27.83 Punkte
🔧 Programmierung

🔧 Turbocharge your Lambda Functions with AWS Lambda Powertools for Python


📈 27.83 Punkte
🔧 Programmierung

🔧 Secrets Management in .NET Lambda: AWS SDK vs. Lambda Extension


📈 27.83 Punkte
🔧 Programmierung

🔧 Introducing More Python for Beginners | More Python for Beginners [1 of 20] | More Python for Beginners


📈 27.5 Punkte
🔧 Programmierung

🔧 AWS S3 Event Triggering


📈 26.96 Punkte
🔧 Programmierung

🔧 AWS Lambda and Azure Function


📈 26.83 Punkte
🔧 Programmierung

🔧 Serverless Computing 101: AWS Lambda and the Rise of Function-as-a-Service


📈 26.83 Punkte
🔧 Programmierung

🔧 What Are AWS Lambda Function URLs And Why You Don’t Need API Gateway


📈 26.83 Punkte
🔧 Programmierung

🔧 Step by Step to deploy Go API on AWS lambda and access by function URL


📈 26.83 Punkte
🔧 Programmierung

🔧 Step-by-Step procedure for creating a Lambda function, deploying it to AWS and testing it🎉


📈 26.83 Punkte
🔧 Programmierung

matomo