Skip to content

Latest commit

 

History

History
 
 

README.md

Blank function (Ruby)

This project creates a function and supporting resources:

  • function - A Ruby function.
  • template.yml - An AWS CloudFormation template that creates an application.
  • 1-create-bucket.sh, 2-deploy.sh, etc. - Shell scripts that use the AWS CLI to deploy and manage the application.

Architecture

Use the following instructions to deploy the sample application.

Requirements

Setup

Download or clone this repository.

$ git clone git@github.com:awsdocs/aws-lambda-developer-guide.git
$ cd aws-lambda-developer-guide/sample-apps/blank-ruby

Run 1-create-bucket.sh to create a new bucket for deployment artifacts. Or, if you already have a bucket, rename 2-deploy.sh.template to 2-deploy.sh and replace MY_BUCKET in it with the name of an existing bucket.

blank-ruby$ ./1-create-bucket.sh
make_bucket: lambda-artifacts-a5e491dbb5b22e0d

Deploy

Run 2-deploy.sh to deploy the application.

blank-ruby$ ./2-deploy.sh
Uploading to e678bc216e6a0d510d661ca9ae2fd941  2737254 / 2737254.0  (100.00%)
Successfully packaged artifacts and wrote output template to file out.yml.
Waiting for changeset to be created..
Waiting for stack create/update to complete
Successfully created/updated stack - blank-ruby

This script uses AWS CloudFormation to deploy the Lambda functions and an IAM role. If the AWS CloudFormation stack that contains the resources already exists, the script updates it with any changes to the template or function code.

Test

Run 3-invoke.sh to invoke the function.

blank-ruby$ ./3-invoke.sh
{
    "StatusCode": 200,
    "ExecutedVersion": "$LATEST"
}

The functions in this application are instrumented with AWS X-Ray. Open the X-Ray console to view the service map. The following service map shows the function calling Amazon S3.

Service Map

Choose a node in the main function graph. Then choose View traces to see a list of traces. Choose any trace to view a timeline that breaks down the work done by the function.

Trace

Finally, view the application in the Lambda console.

To view the output

  1. Open the applications page in the Lambda console.
  2. Choose blank-ruby.

Application

Cleanup

To delete the application, run 4-cleanup.sh.

blank-ruby$ ./4-cleanup.sh