Skip to content

Latest commit

 

History

History
73 lines (56 loc) · 3.36 KB

File metadata and controls

73 lines (56 loc) · 3.36 KB

API Gateway → Lambda → DynamoDB

API Gateway to Lambda to Dynamodb

Invoking the Lambda Function with AWS API Gateway and saving the processed request into the DynamoDB table.

API Specification

Coffee

When the API received an incoming request, it will validate if the required fields are present, create the key, and then insert the request data into DynamoDB Table.

Method: POST

Endpoint: https://{api-id}.execute.api.{region}.amazonaws.com/prod/

Request Body:

{
  "name": "Galão",
  "description": "Originating in Portugal, this hot coffee drink is closely related to the latte and cappuccino.",
  "ingredients": ["Espresso", "Foamed milk"]
}

AWS CDK API / Developer Reference

AWS SDK v2 API / Developer Reference

AWS Documentation Developer Guide

Useful commands

The cdk.json file tells the CDK Toolkit how to execute your app.

  • npm install install projects dependencies
  • npm run build compile typescript to js
  • npm run watch watch for changes and compile
  • npm run test perform the jest unit tests
  • cdk deploy deploy this stack to your default AWS account/region
  • cdk diff compare deployed stack with current state
  • cdk synth emits the synthesized CloudFormation template
  • cdk bootstrap deployment of AWS CloudFormation template to a specific AWS environment (account and region)
  • cdk destroy destroy this stack from your default AWS account/region

Deploy

Using make command

  1. Install all the dependencies, bootstrap your project, and synthesized CloudFormation template.
# Without passing "profile" parameter
dev@dev:~:aws-cdk-samples/api-gateway/api-gateway-lambda-dynamodb$ make init

# With "profile" parameter
dev@dev:~:aws-cdk-samples/api-gateway/api-gateway-lambda-dynamodb$ make init profile=[profile_name]
  1. Deploy the project.
# Without passing "profile" parameter
dev@dev:~:aws-cdk-samples/api-gateway/api-gateway-lambda-dynamodb$ make deploy

# With "profile" parameter
dev@dev:~:aws-cdk-samples/api-gateway/api-gateway-lambda-dynamodb$ make deploy profile=[profile_name]