Over a million developers have joined DZone.

AWS Lambda: Programatically Create a Python ‘Hello World’ Function

DZone's Guide to

AWS Lambda: Programatically Create a Python ‘Hello World’ Function

In this post we take a look at how to quickly create a Python function using AWS Lambda, including their configurations and uploading them to the service.

· Cloud Zone ·
Free Resource

Discover a centralized approach to monitor your virtual infrastructure, on-premise IT environment, and cloud infrastructure – all on a single platform.

I’ve been playing around with AWS Lambda over the last couple of weeks and I wanted to automate the creation of these functions and all their surrounding config.

Let’s say we have the following Hello World function:

def lambda_handler(event, context):
    print("Hello world")

To upload it to AWS, we need to put it inside a ZIP file, so let’s do that:

$ zip HelloWorld.zip HelloWorld.py
$ unzip -l HelloWorld.zip 
Archive:  HelloWorld.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
       61  04-02-17 22:04   HelloWorld.py
 --------                   -------
       61                   1 file

Now we’re ready to write a script to create our AWS Lambda function.

import boto3

lambda_client = boto3.client('lambda')

fn_name = "HelloWorld"
fn_role = 'arn:aws:iam::[your-aws-id]:role/lambda_basic_execution'

    Code={'ZipFile': open("{0}.zip".format(fn_name), 'rb').read(), },

[your-aws-id] needs to be replaced with the identifier of our AWS account. We can find that out be running the following command against the AWS CLI:

$ aws ec2 describe-security-groups --query 'SecurityGroups[0].OwnerId' --output text

Now we can create our function:

$ python CreateHelloWorld.py

2017 04 02 23 07 38

And if we test the function, we’ll get the expected output:

2017 04 02 23 02 59

Learn how to auto-discover your containers and monitor their performance, capture Docker host and container metrics to allocate host resources, and provision containers.

aws lambda ,python ,cloud ,tutorial ,serverless

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}