"serverless" express
TRANSCRIPT
![Page 1: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/1.jpg)
"Serverless" Express@AnnaGerber
![Page 2: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/2.jpg)
Before you start
You’ll need:• An AWS account • An IAM user with permissions for AWS Lambda, API Gateway, CloudFormation, DynamoDB, S3 and CloudWatch• Recent version AWS-‐CLI installedhttps://aws.amazon.com/cli/
![Page 3: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/3.jpg)
aws-‐serverless-‐express
Library for using AWS Lambda and Amazon API Gateway with Express
git clone https://github.com/awslabs/aws-‐serverless-‐express
See example directory for sample app
![Page 4: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/4.jpg)
AWS Lambda
![Page 5: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/5.jpg)
API Gateway
![Page 6: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/6.jpg)
Cloud Formation
![Page 7: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/7.jpg)
Example app
![Page 8: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/8.jpg)
AWS SAM
• Serverless Application Model• JSON or YAML• Defines API Gateway APIs, Lambda functions, DynamoDB tables
![Page 9: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/9.jpg)
Configure the Sample app
![Page 10: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/10.jpg)
Setup
npm run setup
![Page 11: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/11.jpg)
Cloud Formation Stack
![Page 12: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/12.jpg)
Stack Outputs
![Page 13: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/13.jpg)
Example app
![Page 14: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/14.jpg)
DynamoDB
![Page 15: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/15.jpg)
Persisting data to DynamoDB
To persist users to DynamoDB:• Add DynamoDB permissions to the role• Create DynamoDB table for storing users• Modify the CRUD routes in our Express app to use DynamoDB instead of in-‐memory array
![Page 16: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/16.jpg)
Update role permission
![Page 17: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/17.jpg)
Create Table Users
![Page 18: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/18.jpg)
Modify the routes
• Add the AWS SDK for DynamoDB support• npm install -‐-‐save aws-‐sdk
var AWS = require("aws-‐sdk")var docClient = new AWS.DynamoDB.DocumentClient()
![Page 19: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/19.jpg)
Create a User
![Page 20: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/20.jpg)
List Users
![Page 21: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/21.jpg)
List a specific User
![Page 22: "Serverless" express](https://reader031.vdocuments.mx/reader031/viewer/2022022413/58e4ac7e1a28abbb038b5a27/html5/thumbnails/22.jpg)
Develop your API
• Continue to develop as for regular express app• Logs for the app can be accessed via CloudWatch• Edit package.json to ensure additional resources are packaged• To re-‐package and re-‐deploy the app:
• npm run package-‐deploy
• To tear down:• npm run delete-‐stack