Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
50 lines (31 sloc) 3.08 KB

Serverless workshop setup

This page outlines how to set up your machine to attend Gojko's serverless coding workshop. It's very important to do this upfront so that we can use the time together effectively. Expect the setup to take 10-20 minutes, and contact before the workshop if you're having trouble with any of the tests below.

Basic software required

Setup your AWS account

Register for an AWS account upfront if you don't already have one. To use Lambda, you'll need a verified account (typically using phone verification). The stuff we'll do will fit into the free account allowance, so you will not need to pay AWS anything for the workshop, but you will still need an account. Register at

If you do not want to use the access credentials for your main user account, but want to set up a separate user profile for the camp, assign the following roles to the user:

If you have a company AWS account and intend to use it during the workshop, please make sure that you have access rights specified above.

Set up AWS Command line tools

Configure AWS Command Line tools to work with your credentials. If you do not want to use your primary account, set up a separate profile for the workshop account.

Test your AWS setup

The following commands should all work OK, without throwing errors (add --profile <PROFILE NAME> to the commands if you want to use a specific profile for AWS access):

  1. Set up a simple IAM role (get the policy.json file from this repository and put it in the local directory where this command is executed)
aws iam create-role --role-name=hello-world-role --assume-role-policy-document file://policy.json --query Role.Arn --output text
  1. Wait about 10 seconds, then use the result printed by the previous command instead of <ROLE> in the command below, to set up a simple Lambda function (get the file from this repository and put it in the local directory where this command is executed).
aws lambda create-function --function-name hello-world-function --role <ROLE> --runtime nodejs8.10 --handler main.handler --zip-file fileb:// 
  1. set up a simple API interface:
aws apigateway create-rest-api --name test-api