Run a Serverless "Hello, World!"

with AWS Lambda

Introduction

In this tutorial, you will learn the basics of running code on AWS Lambda without provisioning or managing servers. We will walk through how to create a Hello World Lambda function using the AWS Lambda console. We will then show you how to manually invoke the Lambda function using sample event data and review your output metrics.

Everything done in this tutorial is Free Tier eligible.

 Cost to Complete

Free Tier

 Services Used

Running Serverless Code with
AWS Requires an Account

The AWS Free Tier includes 1 million free requests and up to 3.2 million seconds of compute time per month with AWS Lambda.

View AWS Free Tier Details »

Implementation

  • Enter the Lambda Console

    When you click here, the AWS Management Console will open in a new browser window, so you can keep this step-by-step guide open.  Find Lambda under Compute and click to open the AWS Lambda Console.

    AWS Management Console - select Lambda
  • Select a Lambda Blueprint

    Blueprints provide example code to do some minimal processing. Most blueprints process events from specific event sources, such as Amazon S3, DynamoDB, or a custom application.

    a.  In the AWS Lambda console, select Create a Function.

    Note: The console shows this page only if you do not have any Lambda functions created. If you have created functions already, you will see the Lambda > Functions page. On the list page, choose Create a function to go to the Create function page.

    Select Create a Function

    b.  Select Blueprints.
    c.  In the Filter box, type in hello-world-python and select the hello-world-python blueprint.
    d.  Then click Configure.

    Create Function view
  • Configure and Create Your Lambda Function

    A Lambda function consists of code you provide, associated dependencies, and configuration. The configuration information you provide includes the compute resources you want to allocate (for example, memory), execution timeout, and an IAM role that AWS Lambda can assume to execute your Lambda function on your behalf.

    a. You will now enter Basic Information about your Lambda function.

    Basic Information:

    • Name: You can name your Lambda function here. For this tutorial, enter hello-world-python.
    • Role: You will create an IAM role (referred as the execution role) with the necessary permissions that AWS Lambda can assume to invoke your Lambda function on your behalf. Select Create new role from template(s).
    • Role name: type lambda_basic_execution

    Lambda Function Code:

    • In this section, you can review the example code authored in Python.

    b. Go to the bottom of the page and select Create Function.

    Enter Lambda Basic Information

    c.  Runtime: Currently, you can author your Lambda function code in Java, Node.js, C#, Go or Python. For this tutorial, leave this on Python 2.7 as the runtime.

    d.  Handler: You can specify a handler (a method/function in your code) where AWS Lambda can begin executing your code. AWS Lambda provides event data as input to this handler, which processes the event.

    In this example, Lambda identifies this from the code sample and this should be pre-populated with lambda_function.lambda_handler.

    hello-world-python Configuration

    e.  Scroll down to configure your memory, timeout, and VPC settings.  For this tutorial, leave the default Lambda function configuration values.

     Scroll down to configure your memory, timeout, and VPC settings
  • Invoke Lambda Function and Verify Results

    The console shows the hello-world-python Lambda function - you can now test the function, verify results, and review the logs.

    a.  Select Configure Test Event from the drop-down menu called "Select a test event...".

    Select Configure Test Event from the drop-down menu

    b.  The editor pops up to enter an event to test your function.  

    • Choose Hello World from the Sample event template list from the Input test event page. 
    • Type in an event name like HelloWorldEvent.
    • You can change the values in the sample JSON, but don’t change the event structure. For this tutorial, replace value1 with hello, world!.

    Select Create.

    Configure Test Event

    c.  Select Test.

    Click on Test

    d.  Upon successful execution, view the results in the console:

    • The Execution results section verifies that the execution succeeded.
    • The Summary section shows the key information reported in the Log output.
    • The Log output section will show the logs generated by the Lambda function execution. 
    View the results in the console
  • Monitor Your Metrics

    AWS Lambda automatically monitors Lambda functions and reports metrics through Amazon CloudWatch. To help you monitor your code as it executes, Lambda automatically tracks the number of requests, the latency per request, and the number of requests resulting in an error and publishes the associated metrics. 

    a.  Invoke the Lambda function a few more times by repeatedly clicking the Test button.  This will generate the metrics that can be viewed in the next step.
    b.  Select Monitoring to view the results.

    Invoke the Lambda function a few more times by repeatedly clicking the Test button

    c.  Scroll down to view the metrics for your Lambda function.  Lambda metrics are reported through Amazon CloudWatch. You can leverage these metrics to set custom alarms. For more information about CloudWatch, see the Amazon CloudWatch Developer Guide.

    The Monitoring tab will show six CloudWatch metrics: Invocation count, Invocation duration, Invocation errors, Throttled invocations, Iterator age, and DLQ errors.

    With AWS Lambda, you pay for what you use. After you hit your AWS Lambda free tier limit, you are charged based on the number of requests for your functions (invocation count) and the time your code executes (invocation duration).  For more information, see AWS Lambda Pricing.

    The Monitoring tab will show six CloudWatch metrics
  • Delete the Lambda Function

    While you will not get charged for keeping your Lambda function, you can easily delete it from the AWS Lambda console.  

    a.  Select the Actions button and click Delete Function.

    Select the Actions button and click Delete Function

    b.  You will be asked to confirm your termination - select Delete.

    You will be asked to confirm your termination - select Delete

Was this tutorial helpful?

Thank you
Please let us know what you liked.
Close
Sorry to disappoint you
Is something out-of-date, confusing or inaccurate? Please help us improve this tutorial by providing feedback.
Close

Congratulations!

You have created your first AWS Lambda function. This is your first step in learning how to run applications without needing to provision or manage servers. Lambda automatically scales your applications by running your code in response to each trigger, scaling precisely with the size of your workloads.