Mô tả

AWS Serverless is probably the quickest way to build a very stable REST APIs that scale to serve millions of users. A very simple Mock API can be created and deployed in minutes. An API that uses AWS Lambda compute service will take longer but how much longer will depend on the business logic that you need to write.

In this video course, you will learn what is REST API and how to create one using AWS Serverless Services.

You will learn in detail how to use Amazon API Gateway to create REST APIs, and AWS Lambda Compute Service to execute business logic. The course is designed for absolute beginners, so you do not need to have any experience with AWS Serverless.

By the end of this course, you will be able to: 

  • Create RESTful API endpoints,

  • Build and deploy API with AWS SAM,

  • Validate HTTP request body and request parameters,

  • Transform HTTP request body into a different model,

  • Transform HTTP response JSON into a different one,

  • Deploy APIs into different stages,

  • Perform Canary Release Deployments and shift traffic between different versions of APIs,

  • Publish multiple versions of Lambda functions and shift traffic between these functions,

  • Document and Export REST API,

  • Implement User Sign-up with Amazon Cognito,

  • Learn to use Cognito Authorizer to control who can access your API in Amazon API Gateway,

  • Implement custom Lambda Authorizer that validates JWT,

  • Secure API endpoints with API Keys and learn to configure requests Throattling and Quota,

  • Unit Test AWS Lambda functions,

  • Build CI/CD Pipeline using AWS CodeCommit, AWS CodeBuild and AWS CodePipeline developer tools.

If you want to learn how to build REST APIs quickly, without starting, configuring, and managing any servers, then this course is for you.


Bạn sẽ học được gì

REST API and its design principles

Building Serverless REST APIs in AWS with Java

Amazon API Gateway

Build and deploy API with AWS SAM

AWS Lambda

Implement User Sign-up, Sign-in and Conformation features

Amazon Cognito

Learn to use Cognito Authorizers

Implement custom Lambda Authorizer to validate JWT

Learn to Encrypt & Decrypt sensitive environment variables

Learn to use API Keys and Usage Plans

Unit Test AWS Lambda functions

AWS CI/CD

AWS CodeCommit, AWS CodeBuild, AWS CodePipeline

Yêu cầu

  • Basic knowledge of Java
  • AWS Account

Nội dung khoá học

28 sections

Introduction

1 lectures
Introduction
02:10

Introduction to REST API

4 lectures
What is an API?
05:32
Introduction to REST API
04:06
REST API Resources & URIs
06:15
API Operations and HTTP methods
02:58

Introduction to AWS Serverless

3 lectures
The multi-tier architecture and Microservices
06:56
AWS Serverless services overview
08:57
AWS Serverless architecture example
06:06

AWS API Gateway

8 lectures
Introduction
05:41
Import from Swagger or Open API 3
08:20
Method execution flow overview
06:55
Method request overview
03:22
Integration request overview
02:55
Integration response overview
01:35
Method response overview
02:37
Trying how it works
03:01

Creating Mock API Endpoints

11 lectures
Introduction
02:51
Creating a new API
02:05
Creating a new Resource
02:57
Creating HTTP Method
04:30
Returning Mock Data
03:59
Path parameter
03:51
Reading the path parameter
04:12
Query String Parameters
01:28
Reading Query String Parameter in a Mapping template
04:05
Deploying Mock API
04:55
Documenting API
07:04

Exporting API

4 lectures
Introduction
00:49
Export API and Test with Swagger
05:58
Export API with Gateway Extensions
03:41
Export API and Test with Postman
03:26

Validating HTTP Request

5 lectures
Introduction
00:27
Validating Request Parameters & Headers
04:45
Validating Request Body - Creating a Model.
05:40
Associate Model with HTTP Request
01:38
Validating Request Body - Trying how it works.
01:59

Introduction to Lambda

6 lectures
Function as a Service(SaaS)
01:33
Lambda function & other Services
06:11
Anatomy of a Java Lambda function handler
02:15
Lambda Execution Environment
04:50
Cold start, warm start & provisioned concurrency
03:18
Pricing
03:38

Create Java Lambda using Maven and IDE

11 lectures
Introduction
00:16
Creating new Maven project
02:04
Adding Maven dependencies
02:23
Maven Shade Plugin
02:50
Creating Lambda function
03:00
Reading Request returning Response
04:31
Creating function in AWS Console
03:02
Deploying Lambda function
02:49
Testing Lambda function with Input Template
02:48
Create new API project
01:01
Assigning Lambda function to API Endpoint
05:58

AWS SAM - Tools to create & deploy Lambda functions

19 lectures
Introduction
03:24
Creating a new IAM User
05:14
Installing AWS SAM
04:32
Installing AWS CLI
03:39
Configure AWS Credentials on your computer
02:18
Creating a new project with SAM
04:53
Refactor project to use a different name
04:25
Read User Details JSON and return HTTP Response
10:20
SAM template file overview
05:28
SAM template - Resources
07:22
SAM template - Outputs
07:12
The event.json file
02:31
Install Docker
00:14
Invoke Remote Lambda function from local computer
01:55
Debug Lambda function locally
03:36
Deploy Lambda function to AWS
06:42
Invoke public API Endpoint
02:29
Viewing logs
04:50
Delete AWS SAM application
03:12

Data Transformations

13 lectures
Introduction
02:28
Project source code
00:41
Java Map instead of APIGatewayProxy Event objects
03:16
Deploying application to AWS
01:36
Creating a new Request Model
02:31
Creating a new Response Model
01:20
Transforming HTTP Request Payload
08:34
Reading New Request Model
01:52
Trying how it works
04:52
Response Mapping Template
04:38
Configure Method Response
01:28
Trying how the Response Mapping
02:14
Reading with Query String Parameters & Headers
04:09

Error Responses

14 lectures
Introduction
04:09
Project source code(Proxy Integration)
00:11
Deploy project
01:56
Customize the Default API Gateway Error Response
10:33
Trying how it works
02:51
Proxy Integration. Causing a 500 Server Error.
03:04
Proxy Integration. Handle Exception and return custom JSON.
02:08
Trying how it works
02:54
Source code. Non Proxy Integration.
00:16
Deploy and disable Proxy Integration
04:12
Response code & Lambda Error Regex for 500 status code
05:01
Mapping template for 500 status code
03:47
Lambda Error Regex for Different Error
04:46
Handle multiple exceptions
05:32

Lambda Function Versions

6 lectures
Introduction
02:08
Project source code
00:09
Deploying new code
02:55
Publishing a new version
03:34
Assign new version to API endpoint
02:29
Publish version #2
03:17

Lambda Function Aliases

5 lectures
Lambda Aliases - Introduction
02:18
Creating an Alias
03:15
Using Alias in API Gateway
02:09
Trying how the Lambda Alias works
03:42
Shift traffic between two lambda versions
03:46

Canary Release Deployment

5 lectures
Introduction
04:18
Create Canary
03:09
Deploy changes to Canary
02:13
Trying how it works
01:39
Promoting and Deleting Canary
02:08

AWS Lambda Environment Variables

11 lectures
Introduction
00:31
Project source code
00:14
Creating Environment Variables in AWS SAM
05:02
Reading Environment Variables
02:14
Trying how it works
03:41
Creating Lambda environment variables in AWS Web Console
01:12
Environment variables encryption options
01:40
Creating new encryption key
03:13
Encrypting environment variables with AWS KMS key
02:30
Decrypting Environment Variables
07:03
Trying how it works
01:54

Cognito user pools - Implementing User Sign-up

17 lectures
Introduction
03:18
User pool - Name and Attributes step
04:37
User pool - Policies step
01:18
User pool - MFA and verifications step
01:47
User pool - Message customizations step
03:50
User pool - Tags and Devices steps
01:39
User pool - Creating an App Client
03:19
User pool - Final steps
01:54
Create AWS SAM-based project
00:18
Adding AWS SDK Cognito Dependencies
04:56
Create User - Reading Request Body
02:19
Creating CognitoUserService and CreateUser function
01:44
Working on Cognito SignUpRequest
06:34
Generating Secret Hash value
04:57
Creating and using the CognitoIdentityProviderClient
05:10
Calling the createUser() function
05:56
User Sign-up. Trying how it works.
05:41

Amazon Cognito- Implementing Confirm User Account

8 lectures
Creating the Confirm User Lambda function
01:23
Implementing Confirm User Signup function
04:56
Calling the Confirm User method
06:05
Define Confirm User Signup function in AWS SAM template
02:50
Encrypting environment variables
07:51
Decrypting Environment Variables in Java code
04:21
Updating Encryption & Decryption KMS Key
01:57
Trying how it works
01:56

Amazon Cognito - User Authentication

6 lectures
Creating LoginUserHandler
01:35
Define LoginUserHandle in AWS SAM template
01:51
Implementing User Login method in the service class
08:24
Calling User Login method
04:46
Trying how it works
02:46
Error message as jSON rather than plain text
08:15

Amazon Cognito - Add User to a Group

6 lectures
Creating a User Group
06:02
Implementing AddUserToGroup() method
03:20
Calling the AddUserToGroup() method
05:55
Encrypting Environment Variable
03:52
Define AddUserToGroup function in AWS SAM template
07:45
Trying how the Add User To Group function works
05:20

Cognito Authorizer. Using JWT Access Tokens.

9 lectures
Creating GetUserHandler Lambda function
02:22
Define GetUserHandler function in AWS SAM template
03:07
Secure API endpoint with Cognito Authorizer
03:05
Using ID token with Cognito Authorizer
04:32
Implementing Get User Details method
05:08
Calling the Get User method
03:32
Trying how it works
01:52
Validating required HTTP header
03:27
Import Open API definition into SAM template
10:22

Lambda Authorizer - Creating custom Authorizer.

17 lectures
Introduction
03:54
Starter project overview & source code
05:17
Creating Lambda Authorizer in API Gateway
04:41
Import Open-API configuration into AWS SAM template
02:48
Lambda authorizer Output
04:05
Generating Policy Document
09:22
Trying how it works
02:01
Adding JWT validation dependencies
02:27
Extracting PublicKey from /.well-known/jwks.json
01:20
Implement the JWT validation function
07:15
Validating the JWT
04:39
Trying how JWT validation works
03:04
Adding Cognito Dependencies
00:46
Implementing the GetUserByUsername function
06:01
Add Policy to allow the AWS SAM template file
02:33
Calling getUserByUsername() from handleRequest() method
04:01
Trying how it works
02:32

API Keys and Usage Plans

5 lectures
Introduction
03:09
Create a new API Key
01:56
Create a Usage Plan
03:22
Secure API Endpoint with API Key
02:55
Trying how it works
02:16

JUnit Testing AWS Lambda

17 lectures
Introduction
01:52
Testing Pyramid
02:46
F.I.R.S.T principle
03:36
Adding JUnit Test Dependencies
03:41
Running and failing a test case
04:38
Naming a Unit Test Method
03:16
Arrange, Act, Assert
03:59
Unit Test Lifecycle methods
03:21
Creating Mock Objects
04:51
Mocking APIGatewayProxyRequestEvent
03:18
Mocking Context object
03:23
Mocking CognitoUserService class
03:21
Invoke function under test
02:28
Assertions for the CreateUserHandler Unit Test
07:30
Centralize property names
03:25
Test if function returns error message if request body is empty
06:46
Test if function returns error message when AwsServiceException takes place
09:00

Developer Tools. AWS CI/CD - AWS CodeCommit

13 lectures
Introduction to AWS CodeCommit
03:08
Git Branches
03:21
Project source code
00:37
Installing Git
00:18
Creating Local Git Repository
03:22
Git Ignore file
03:54
Commit files to main branch
02:37
Creating Remote Git Repository
01:25
Creating User Credentials
04:42
Push Initial Commit to a Remote Git Branch
03:45
Push New Updates to a Remote Git Branch
04:29
Creating a Pull Request
02:36
Approving and Merging Pull Request
03:09

Developer Tools. AWS CI/CD - AWS CodeBuild

7 lectures
Introduction
02:17
Creating a new S3 bucket
02:15
Creating a BuildSpec file
08:09
Commit BuildSpec file to main branch
01:52
Creating a new CodeBuild project
08:00
Fixing a Unit Test method
02:21
Running Code Build
02:52

Developer Tools. AWS CI/CD - AWS CodePipeline

5 lectures
Introduction
02:39
CloudFormation Role
06:27
Creating CodePipeline to Deploy AWS Lambda
07:47
Execute a Change Set
04:11
Making code change that triggers pipeline
03:05

What's next?

1 lectures
Bonus lecture
01:59

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.