Bird
Raised Fist0
AWScloud~30 mins

Creating a Lambda function in AWS - Try It Yourself

Choose your learning style10 modes available
Creating a Lambda function
📖 Scenario: You are working on a cloud project where you need to create a simple AWS Lambda function. This function will run code in the cloud without managing servers. You will create the function step-by-step using AWS CloudFormation syntax.
🎯 Goal: Build a CloudFormation template that defines a Lambda function named MySimpleFunction with a basic Python 3.9 runtime and a handler named lambda_function.lambda_handler.
📋 What You'll Learn
Create a CloudFormation template with a Resources section
Define a Lambda function resource named MySimpleFunction
Set the runtime to python3.9
Set the handler to lambda_function.lambda_handler
Use a basic inline code snippet for the Lambda function
💡 Why This Matters
🌍 Real World
CloudFormation templates are used to automate cloud infrastructure setup, making deployments repeatable and consistent.
💼 Career
Knowing how to define Lambda functions in infrastructure as code is essential for cloud engineers and developers working with AWS.
Progress0 / 4 steps
1
Create the CloudFormation template skeleton
Create a CloudFormation template with a Resources section as an empty dictionary called Resources.
AWS
Hint

Start by creating a Python dictionary named Resources with no entries yet.

2
Add the Lambda function resource
Add a resource named MySimpleFunction inside Resources with the type AWS::Lambda::Function and an empty Properties dictionary.
AWS
Hint

Inside Resources, add a key MySimpleFunction with the correct type and empty properties.

3
Configure the Lambda function properties
Inside MySimpleFunction properties, add Runtime set to python3.9, Handler set to lambda_function.lambda_handler, and Code with ZipFile containing a simple Python function def lambda_handler(event, context):\n return 'Hello from Lambda'.
AWS
Hint

Set the runtime, handler, and inline code for the Lambda function inside Properties.

4
Complete the CloudFormation template
Add the top-level AWSTemplateFormatVersion set to 2010-09-09 and Resources dictionary to complete the CloudFormation template as a Python dictionary named template.
AWS
Hint

Wrap the Resources dictionary inside a top-level template dictionary with the version key.

Practice

(1/5)
1. What is the main purpose of an AWS Lambda function?
easy
A. To run code without managing servers
B. To store large amounts of data
C. To create virtual machines
D. To manage user permissions

Solution

  1. Step 1: Understand Lambda's role

    AWS Lambda lets you run code without needing to manage servers or infrastructure.
  2. Step 2: Compare options

    The incorrect options describe other AWS services such as user permissions (IAM), data storage (S3), and virtual machines (EC2).
  3. Final Answer:

    To run code without managing servers -> Option A
  4. Quick Check:

    Lambda = serverless code execution [OK]
Hint: Lambda runs code without servers [OK]
Common Mistakes:
  • Confusing Lambda with storage services
  • Thinking Lambda manages servers
  • Mixing Lambda with user management
2. Which of the following is the correct way to specify the handler when creating a Lambda function in AWS?
easy
A. handler.index
B. index.handler
C. lambda.handler
D. handler.lambda

Solution

  1. Step 1: Understand handler format

    The handler is specified as filename.functionname. Commonly, the file is index and function is handler.
  2. Step 2: Match options

    Only index.handler matches the correct format; others reverse or misuse parts.
  3. Final Answer:

    index.handler -> Option B
  4. Quick Check:

    Handler = filename.function [OK]
Hint: Handler format is filename.functionname [OK]
Common Mistakes:
  • Swapping filename and function name
  • Using invalid handler names
  • Confusing handler with runtime
3. Given this AWS Lambda function code snippet in Python:
def handler(event, context):
    return event.get('key', 'default')

What will be the output if the event is {}?
medium
A. "default"
B. None
C. Error
D. "key"

Solution

  1. Step 1: Analyze the handler function

    The function returns the value of 'key' from event, or 'default' if 'key' is missing.
  2. Step 2: Check the event input

    The event is an empty dictionary, so 'key' is not present, so it returns 'default'.
  3. Final Answer:

    "default" -> Option A
  4. Quick Check:

    Missing key returns default [OK]
Hint: Missing dict key returns default value [OK]
Common Mistakes:
  • Assuming missing key returns None
  • Expecting an error on missing key
  • Confusing key name with value
4. You created a Lambda function but it fails with a permissions error when invoked. What is the most likely cause?
medium
A. The deployment package is too large
B. The handler name is incorrect
C. The runtime is not supported
D. The Lambda execution role lacks necessary permissions

Solution

  1. Step 1: Understand permissions in Lambda

    Lambda functions need an IAM role with permissions to run and access resources.
  2. Step 2: Identify cause of permissions error

    A permissions error usually means the execution role is missing required permissions.
  3. Final Answer:

    The Lambda execution role lacks necessary permissions -> Option D
  4. Quick Check:

    Permissions error = missing IAM role rights [OK]
Hint: Check IAM role permissions for Lambda [OK]
Common Mistakes:
  • Blaming handler name for permissions error
  • Ignoring IAM role setup
  • Assuming runtime causes permissions error
5. You want to create a Lambda function that processes images uploaded to an S3 bucket. Which combination of settings is required to ensure the Lambda runs automatically when a new image is uploaded?
hard
A. Set Lambda runtime to Node.js and upload images directly to Lambda
B. Manually invoke Lambda after uploading images to S3
C. Set S3 event trigger on bucket for 'ObjectCreated' and assign Lambda execution role with S3 read permissions
D. Create an EC2 instance to monitor S3 and call Lambda

Solution

  1. Step 1: Configure S3 event trigger

    To run Lambda automatically on uploads, configure S3 to trigger Lambda on 'ObjectCreated' events.
  2. Step 2: Assign correct IAM role permissions

    Lambda needs an execution role with permissions to read from S3 to process images.
  3. Final Answer:

    Set S3 event trigger on bucket for 'ObjectCreated' and assign Lambda execution role with S3 read permissions -> Option C
  4. Quick Check:

    S3 trigger + IAM role = automatic Lambda run [OK]
Hint: Use S3 event triggers with proper IAM role [OK]
Common Mistakes:
  • Thinking manual invocation is automatic
  • Confusing runtime with event triggers
  • Using EC2 unnecessarily for Lambda triggers
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard