📖 Scenario: You are building a simple REST API using AWS API Gateway and AWS Lambda. This API will respond to HTTP GET requests with a welcome message.
🎯 Goal: Create a REST API in AWS API Gateway with a GET method linked to a Lambda function that returns a welcome message.
📋 What You'll Learn
Create a Lambda function named WelcomeFunction with a basic handler.
Create an API Gateway REST API named WelcomeAPI.
Add a resource /welcome to the API.
Add a GET method to the /welcome resource linked to the Lambda function.
Deploy the API to a stage named prod.
💡 Why This Matters
🌍 Real World
REST APIs are commonly used to expose backend services to web and mobile applications. AWS API Gateway and Lambda provide a serverless way to build scalable APIs.
💼 Career
Understanding how to create and deploy REST APIs on AWS is a key skill for cloud engineers, backend developers, and DevOps professionals.
Progress0 / 4 steps
1
Create the Lambda function
Create a Lambda function named WelcomeFunction with a handler that returns a JSON response with status code 200 and body 'Welcome to the API!'. Use Python 3.12 runtime.
AWS
Hint
Define the Lambda function resource with the correct runtime and handler. Also create an IAM role with Lambda execution permissions.
2
Create the API Gateway REST API and resource
Create an API Gateway REST API named WelcomeAPI. Add a resource with path part welcome to this API.
AWS
Hint
Define the API Gateway REST API resource and add a child resource with path part 'welcome'.
3
Add GET method linked to Lambda
Add a GET method to the /welcome resource. Integrate this method with the Lambda function WelcomeFunction using AWS_PROXY integration.
AWS
Hint
Add the GET method resource and integrate it with the Lambda function using AWS_PROXY.
4
Deploy the API to prod stage
Create a deployment for the API Gateway REST API WelcomeAPI and deploy it to a stage named prod.
AWS
Hint
Create a deployment resource and a prod stage resource for the API Gateway REST API.
Practice
(1/5)
1. What is the main purpose of creating a REST API in AWS?
easy
A. To store large amounts of data securely in the cloud.
B. To allow different applications to communicate over the internet using defined paths and actions.
C. To run virtual machines for hosting websites.
D. To create user accounts and manage permissions.
Solution
Step 1: Understand REST API purpose
REST APIs enable communication between apps using simple commands over the internet.
Step 2: Identify AWS REST API role
In AWS, REST APIs define resources (paths) and methods (actions) to allow this communication.
Final Answer:
To allow different applications to communicate over the internet using defined paths and actions. -> Option B
Quick Check:
REST API = communication interface [OK]
Hint: REST APIs connect apps via internet paths and actions [OK]
Common Mistakes:
Confusing REST API with data storage services
Thinking REST API runs virtual machines
Mixing REST API with user management
2. Which AWS service is primarily used to create REST APIs?
easy
A. Amazon API Gateway
B. AWS Lambda
C. Amazon S3
D. Amazon EC2
Solution
Step 1: Identify AWS services for APIs
Amazon API Gateway is designed to create, publish, and manage REST APIs.
Step 2: Differentiate other services
Amazon S3 stores files, Lambda runs code, EC2 runs servers, but API Gateway manages APIs.
Final Answer:
Amazon API Gateway -> Option A
Quick Check:
API Gateway = REST API service [OK]
Hint: API Gateway is the AWS REST API builder [OK]
Common Mistakes:
Choosing Lambda as the API creator
Confusing S3 with API service
Selecting EC2 for API management
3. Given this API Gateway setup: a resource path /books with a GET method using MOCK integration. What happens when a client sends a GET request to /books?
medium
A. The API fetches book data from a connected database.
B. The API returns an error because MOCK integration is invalid.
C. The API triggers a Lambda function to process the request.
D. The API returns a predefined mock response without calling any backend.
Solution
Step 1: Understand MOCK integration
MOCK integration returns a fixed response defined in API Gateway without backend calls.
Step 2: Analyze GET method on /books
Since GET uses MOCK, the client receives the mock response directly.
Final Answer:
The API returns a predefined mock response without calling any backend. -> Option D
Quick Check:
MOCK integration = fixed response [OK]
Hint: MOCK returns fixed response, no backend called [OK]
Common Mistakes:
Assuming MOCK calls database or Lambda
Thinking MOCK integration causes errors
Confusing MOCK with real backend integration
4. You created a POST method on resource /orders in API Gateway but get a 403 Forbidden error when testing. What is the most likely cause?
medium
A. The MOCK integration is missing a response template.
B. The resource path /orders is misspelled in the client request.
C. The method does not have permission to invoke the backend service.
D. The API Gateway does not support POST methods.
Solution
Step 1: Understand 403 Forbidden in API Gateway
403 usually means permission denied to invoke backend or access resource.
Step 2: Check method permissions
POST method likely lacks permission to call backend service, causing 403 error.
Final Answer:
The method does not have permission to invoke the backend service. -> Option C
Quick Check:
403 = permission denied [OK]
Hint: 403 means permission denied to backend [OK]
Common Mistakes:
Assuming API Gateway disallows POST
Blaming client path spelling without checking
Thinking MOCK integration causes 403
5. You want to create a REST API with a resource /users that supports GET and POST methods. You start with MOCK integration for both methods to test. Later, you want GET to fetch data from a Lambda function and POST to store data in DynamoDB via Lambda. What is the best approach to achieve this?
hard
A. Create the API with MOCK integration first, then update GET and POST methods to use Lambda integration with proper permissions.
B. Create separate APIs for MOCK and Lambda integrations and switch clients between them.
C. Use MOCK integration permanently because it is simpler and faster.
D. Directly connect POST method to DynamoDB without Lambda and keep GET as MOCK.
Solution
Step 1: Start with MOCK integration for testing
MOCK lets you test API behavior without backend, a good first step.
Step 2: Update methods to Lambda integration
Later, replace MOCK with Lambda integration for GET and POST to connect real backend logic.
Step 3: Ensure permissions and backend setup
Configure Lambda permissions and DynamoDB access properly for smooth operation.
Final Answer:
Create the API with MOCK integration first, then update GET and POST methods to use Lambda integration with proper permissions. -> Option A
Quick Check:
Start MOCK, then switch to Lambda integration [OK]
Hint: Test with MOCK, then switch methods to Lambda integration [OK]
Common Mistakes:
Trying to use MOCK and Lambda in separate APIs
Keeping MOCK integration permanently
Connecting POST directly to DynamoDB without Lambda
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.