{"id":322,"date":"2021-11-01T15:42:52","date_gmt":"2021-11-01T15:42:52","guid":{"rendered":"http:\/\/18.141.20.153\/?p=322"},"modified":"2025-08-22T07:22:55","modified_gmt":"2025-08-22T07:22:55","slug":"how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway","status":"publish","type":"post","link":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/","title":{"rendered":"How to create, publish and maintain high scalable APIs using AWS API Gateway?"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">12<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/xINvGQCTHew9PDF5ls6pzky23WqWgCtaSml03uYPYR3H5Z03RXzlBk0iudX4e4YyRLrJCIIH-q7WSvBdRmEkZkUdKanhXNuf9wmdjGvMnknXULPbEbnbmbJjhsewP6SL3pEJmFQ\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">To access data, business logic, and functionalities from backend services, API can act as an interface! Using API Gateway, we can enable two-way communication in real-time applications. In this blog, we will discuss Amazon API Gateway, its architecture, key concepts, use cases, and features. As part of hands-on, we will also create API Gateway and integrate with Lambda service and get the endpoint URL to consume in our client-side code.<\/p>\n\n\n\n<p><strong>In this blog, we will cover:<\/strong><\/p>\n\n\n\n<ul><li>What is an API?<\/li><li>What is the Amazon API Gateway?<\/li><li>Amazon API Gateway Architecture &amp; Key Concepts<\/li><li>Features of Amazon API Gateway<\/li><li>Amazon API Gateway endpoint types<\/li><li>Types of Amazon API Gateway<\/li><li>Benefits of Amazon API Gateway<\/li><li>Working with Amazon API Gateway<\/li><li>Use cases of Amazon&nbsp; API Gateway<\/li><li>Hands-On<\/li><li>Conclusion<\/li><\/ul>\n\n\n\n<h2><strong>What is an API?<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\">An API is an acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. Each time you use an app like Facebook, send an instant message or check the weather on your phone, you\u2019re using an API.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">When you use an application on your mobile phone, the application connects to the Internet and sends data to a server. The server then retrieves that data interprets it, performs the necessary actions, and sends it back to your phone. The application then interprets that data and presents you with the information you wanted in a readable way. This is what an API is &#8211; all of this happens via API.<\/p>\n\n\n\n<p>To explain this better, let&#8217;s take a familiar example:<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Imagine that you\u2019re sitting at a table in a restaurant with a menu of choices to order from. The kitchen is the part of the system that will prepare your order. What is missing is the critical link to communicate your order to the kitchen and deliver your food back to your table. That\u2019s where the waiter or API comes in. The waiter is the messenger or API that takes your request or order and tells the kitchen for example the system, and what to do. Then the waiter delivers the response back to you; in this case, it is the food.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/su3BW8yg8iznihKUs_vDZw0_YBW4wOLaNR1NLN1UGlCBSnzDNKtS6SywRGbKpLVSuG-9VCl_14QIizShvnoOxM1gFNjehR-wOLzMkp36vg7jmr2_NtVN-izpr5nzLG0Mnjxa2vQ\" alt=\"API\"\/><\/figure>\n\n\n\n<p>The client uses the following HTTP methods to communicate with the server:<\/p>\n\n\n\n<ul><li>GET (to read)<\/li><li>POST (to insert data)<\/li><li>PUT (to update data)<\/li><li>DELETE (to delete data)<\/li><\/ul>\n\n\n\n<h2><strong>What is the Amazon API Gateway?<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\">To answer this, first, we all know that <a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-do-event-driven-programming-using-aws-lambda-with-amazon-kinesis-streams\/\">Lambda<\/a> is a serverless service and it can use <a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-create-an-api-endpoint-to-provision-a-dynamodb-table-using-aws-appsync-part-1\/\">DynamoDB<\/a> as a database for our API and we can create, update, delete, etc. But what if we want our client to be able to invoke this Lambda function in some way? So, there are multiple ways of doing it. First, we can have clients directly invoke our lambda function by giving them proper IAM permissions. Second, we can use ALB between the client and the lambda function, and that would expose our lambda function as an HTTP endpoint. There is one last way we can use an <a href=\"https:\/\/aws.amazon.com\/api-gateway\/\" target=\"_blank\" rel=\"noreferrer noopener\">API Gateway<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/VJJ_Cux3dIab-McYpkAX8HDEP3QmJNURxgqvyFRtgQeKTYMcSI0GvF8P7rUIUk95oQrudSbaCC3HWKqbT2zBHM3BEU31z22qF_P2W_ACfdhrUOvg94xAWfNC6wYT5L0dbL2_QGI\" alt=\"What is the Amazon API Gateway?\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients. So, the client will talk to the API Gateway. The API Gateway will then proxy the request to our lambda function. We use an API Gateway because it provides us with more than just an HTTP endpoint to connect to other services. It provides us with a lot of features such as Authentication, Usage plans, Development stages, etc.<\/p>\n\n\n\n<h2><strong>Amazon API Gateway Architecture &amp; Key Concepts<\/strong><\/h2>\n\n\n\n<p>To understand the API Gateway architecture the components can be decomposed at a high level into<\/p>\n\n\n\n<ul><li>Client ( May be&nbsp; Mobile, Web, or any other service)<\/li><li>Types of API based on endpoints ( Edge Optimized, Regional &amp; Private)<\/li><li>Integration<\/li><\/ul>\n\n\n\n<p><strong>API endpoint<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">The API endpoint is the hostname of the API. It will be in the form &lt;&lt;api-id&gt;&gt;execute-api.&lt;&lt;region&gt;&gt;.amazonaws.com.<\/p>\n\n\n\n<p>The types of API endpoints are<\/p>\n\n\n\n<ul><li>Edge-optimized API endpoint<\/li><li>Private API endpoint<\/li><li>Regional API endpoint&nbsp;<\/li><\/ul>\n\n\n\n<p><strong>Integration<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">The heart of the API Gateway is the Integration that connects the route to backend resources. API Gateway supports the following as integrations<\/p>\n\n\n\n<ul><li>&nbsp;Lambda Function \u2013 Can connect via proxy or direct integration<\/li><li>&nbsp;HTTP&nbsp; &#8211; Connect to an HTTP endpoint either inside or outside of AWS<\/li><li>&nbsp;Mock \u2013 Quick response without connecting to backend<\/li><li>&nbsp;AWS Services \u2013 Can connect to 100+ endpoints inside AWS such as DynamoDB or Kinesis<\/li><li>&nbsp;VPC Link \u2013 Connect to ELB via the given VPC link privately.<\/li><\/ul>\n\n\n\n<h2><strong>Features of Amazon API Gateway<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\">We can integrate our API Gateway with lambda, which gives us a fully serverless architecture, which means we do not have to manage the infrastructure.<\/p>\n\n\n\n<ul><li>It supports both stateful (WebSocket) and stateless (HTTP and REST) APIs.<\/li><li>It has a powerful authentication mechanism through AWS IAM Roles and Policies, Amazon Cognito User pools, and Custom authorizer&nbsp;<\/li><li>Canary release development to roll out the changes without affecting the functionalities.<\/li><li>Monitoring of API Usage through Cloud Trail.<\/li><li>Monitoring of logs through CloudWatch and can also set alarms.<\/li><li>Integrated with WAF (Web Application Firewall)<\/li><li>Integrated with AWS X-Ray<\/li><\/ul>\n\n\n\n<h2><strong>Amazon API Gateway endpoint types<\/strong><\/h2>\n\n\n\n<p><strong>There are 3 ways to deploy API Gateway which are called Endpoint Types&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Edge-optimized <\/strong>(default):&nbsp; This is for your global clients, so this means that your API Gateway is going to be accessible from anywhere in the world and the requests are going to be routed through all the CloudFront Edge locations, which will improve the latency. Your API Gateway is still only in one region, where you created it, but it&#8217;s accessible, efficiently, from every Edge location.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Regional<\/strong>: This is when we don&#8217;t want to use CloudFront Edge locations. So, it is used when we expect all of our users to be within the same region where we created our API Gateway, and if we wanted to, we could create your own platform distribution, and this will give us the same result as an edge-optimized distribution, but this time, we have more control over the caching strategies, and the CloudFront settings themselves.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Private<\/strong>: A private API Gateway can only be accessed from within our VPC, and it will use interface VPC endpoints for our ENIs. And to define access for an API Gateway, we can use a resource policy.<\/p>\n\n\n\n<h2><strong>Types of Amazon API Gateway<\/strong><\/h2>\n\n\n\n<p><strong>HTTP API:<\/strong> <\/p>\n\n\n\n<p>Its Low latency and low-cost API. Currently not offering API management functionality.<\/p>\n\n\n\n<p><strong>REST API: <\/strong><\/p>\n\n\n\n<p>REST APIs offer API management features such as usage plans, API keys, publishing, and monetizing APIs.<\/p>\n\n\n\n<p><strong>WebSocket API:<\/strong> <\/p>\n\n\n\n<p>WebSocket APIs maintain a persistent connection between connected clients to enable real-time message communication.<\/p>\n\n\n\n<p><strong>API Gateway REST API:<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">The API Gateway REST API has the full-feature flagship service to build REST APIs and has been available since 2015. But in the re:invent 2019 Amazon introduced a faster and low-cost HTTP API. As implied by the name, the service is about making RESTful web services.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">API gateway acts as an entry point to access data, business logic, or any backend services. API Gateway is responsible for accepting and processing up to hundreds of thousands of concurrent API calls.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">A feature that makes the API Gateway REST API service stand out from the crowd is user\/tenant-based throttling. This feature allows you to limit the number of requests per user or tenant. It has the functionality that is important for building APIs for a Software-as-a-Service business or any other scenario where 3rd parties interact with your API.<\/p>\n\n\n\n<p><strong>API Gateway HTTP API:<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">AWS announced HTTP APIs as a modern alternative to REST APIs. Despite the name, API Gateway HTTP API is also about RESTful APIs. AWS promises to deliver lower latency, reduced costs, and improved user experience with HTTP APIs. However, it has missing user\/tenant-based throttling capabilities.<\/p>\n\n\n\n<p><strong>API Gateway WebSocket API:<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">API Gateway WebSocket API offers an event-driven API that allows you to send messages from the client to the server but also the other way around.&nbsp; The client establishes a connection to the API Gateway, while both sides aim to keep the connection alive. When the client sends an event over the WebSocket, the API Gateway forwards the event to a backend.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">The following table clearly analyzes the difference between REST API &amp; HTTP API in various aspects. The developer can choose either of these based on the requirement.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/7YRryi3EI6P_JFgFysXDh-WnHiMgIqoEtX_e3SMhnJa0ZzV8iIbQWb_kRl2GYeCLzNS2Bd-FOj37a5K2lE81QLleh4KAp5nH6HopU7Oj0f1p1wg2PDIhreTGr7brulwCXYVsSi4\" alt=\"Types of Amazon API Gateway\"\/><\/figure>\n\n\n\n<h2><strong>Benefits of API Gateway<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Decoupling<\/strong>: If your clients which you have no control over communicate directly with many separate services, renaming or moving those services can be challenging as the client is coupled to the underlying architecture and organization. API gateways enable you to route based on path, hostname, headers, and other key information enabling you to decouple the publicly facing API endpoints from the underlying microservice architecture.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Reduce Round Trips: <\/strong>Certain API endpoints may need to join data across multiple services. API gateways can perform this aggregation so that the client doesn&#8217;t need complicated call chaining and reduce the number of round trips.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Security: <\/strong>API gateways provide a centralized proxy server to manage rate limiting, bot detection, authentication, CORS, among other things. Many API gateways allow setting up a datastore such as Redis to store session information.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Cross-Cutting Concerns<\/strong>: Logging, Caching, and other cross-cutting concerns can be handled in a centralized appliance rather than deployed to every microservice. In fact, Moesif provides plugins for many API gateways like Kong and Tyk so you can obtain modern customer and API analytics without installing any SDKs.<\/p>\n\n\n\n<h2><strong>Use cases of Amazon API Gateway<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\">API Gateway scales from tens of requests to thousands of requests per second without provisioning any infrastructure. It is used by various enterprises to accelerate their business. We will discuss a few of them here to understand the power of API Gateway in real-time.<\/p>\n\n\n\n<p><strong>UK Driver &amp; Vehicle Licensing Agency (DVLA) <\/strong><strong><\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">DVLA has been gradually digitizing its services for more than 10 years using an API-based approach. With more than 50 million vehicle-licensing transactions per year and records on every vehicle in the UK, DVLA is the definitive source of truth for a huge amount of valuable public information.&nbsp;<\/p>\n\n\n\n<p><strong>PhotoVogue&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">PhotoVogue is an online photography platform launched in 2011 and part of Vogue Italia The main focus of this is to allow upcoming photographers to demonstrate their skills.&nbsp; The challenge for PhotoVogue is that a very high number of photos are getting published day by day and the existing IT infrastructure was not sufficient to manage this workload. With the implementation of AWS Lambda and AWS Gateway, Photovogue has cut the IT cost by 30% and the operating speed has been increased by 90%.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Below is the use case diagram where we can see that the Client side code can be used to call the API Gateway through an HTTP endpoint provided by our API Gateway. The API Gateway is then proxying the request to the AWS Lambda service. The Lambda code is then used to do the appropriate CRUD operation by interacting with DynamoDB.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">We can have any other services also apart from below as per our requirements.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/Si0OkiVZ873SboRG6z5AEa1OFhrMokYS_6zwJWYKWxTc3-V0bVjSE8ygx9rpaPZGf_dlGJSB644rOhulJgyyHZBDYk-rHB1rpEwypkuz_q_1DotCgXUqhJ7EOX9j7swUlcw1v7M\" alt=\"Use cases of Amazon API Gateway\"\/><\/figure>\n\n\n\n<h2><strong>Hands-On<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\">In this hands-on, we will see how we can create API Gateway and integrate with Lambda service and we shall get the endpoint URL to consume in our client-side code.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">To implement this, we will do the following:<\/p>\n\n\n\n<ul><li>Login to your AWS account and navigate to Amazon API Gateway to create a new API.<\/li><li>Create a Rest API from the API Gateway console<\/li><li>Create a Get Method and integrate it with Lambda<\/li><\/ul>\n\n\n\n<p class=\"has-text-align-justify\">To integrate with, create a lambda function and write the function which we want to call using the API Gateway endpoint. As of now, we will not integrate it with any database and create a function that will return a simple text.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Similarly, under this Get method, create a new resource and integrate it with a new Lambda function.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Based on the resource in the endpoint URL, the appropriate Lambda function will get triggered.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">That URL can be used in our client-side code where we can consume the service using REST API.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Log in to AWS and navigate to the API Gateway dashboard to create a new API. Here, we would be able to see multiple options to create API and we can choose anyone based on our requirements. For simplicity, currently, we will be creating a Rest API, so under that click on \u2018Build\u2019.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/mdIk2g7dLMJnyxGjQ3GBA2OBb4Y7sO1f5r53dZ0wgQySpm3r8iyPvweNPLshV-xMhxKq3NrhDLlDEjuFdNR64sZrns1O5kdGSjlUQL3KHOoh9J_QRfkHLOwcjw_DWK-VqwVpJc0\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p>Enter the name for your API based on your preference.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/77OJShrzrIzmW8IYqzwxIX4EKRxg_MkMuYaVumv_qOMn87Kv3oupPaC7OvAwf4Ktm_ED3MYN7HxQRSCSHG-kiuaMiQzJeyxhd_nZQbb_6UTD_gybiJpJH1PLp29bfOo6vuUhdyw\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Under the Actions dropdown, click on &#8216;Create Method&#8217; and then select GET method. We can create any method such as POST, DELETE, GET etc. But, for simplicity, we are using GET here.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/kDrzO1NmpQOfcQWafo-O27vXLVZMTrGqZaRXmpXsO1hutqFbefPsUS2hpIZrmVFeWsY6WPy-cIUDC2M1-GT0tgWmIPK0ADBI0XCRSm4snFtiDjUMgwPwcz0p8_utODQ9yTjqwIw\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/3Vy0635I2OIif09Yo8kRYd8DuMungLe78N-Y3NIYCls8He-AOL3YdBD-bJgJZn1EPEzpBvYkHx4gxsqgGieFIq0Vh7N3BMKyhvnhV8qBXroVsSkWtLv9tDzsnPHSf_TKd69NiPw\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Here, we will be integrating with a new lambda function, so select the Integration type as &#8216;Lambda Function&#8217; and we will be selecting &#8216;Use Lambda Proxy Integration&#8217; as it allows the client to call a single Lambda function in the backend.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/QCwd19axuHUmwIzUwKVL7yfdzhKVx0aWMxONMsjVNHjMrY0mTdKiIDGTWYaLiMSfWL9RFNsMj07YK51dxtFW5p8CQcfeDie9CCXKf77RFIBSSX82BwnQ1NpIdWadWMBZSbvmlYs\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Before proceeding further here, we first need to put a Lambda function name for which let&#8217;s create a Lambda function.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">So, open the console in a new tab and navigate to the Lambda function and click on &#8216;Create function&#8217;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/qVp2GkcU_XY1vEwz4CTl9fyJcIHv8C8AkX-0KmYRyzpCbu62SoEMh2A01EWzQGfaAtjBwijbmdIJlyjNqZG_zZCTGSaEumET_0W_kZDW4tke77yS1nd8DSNcvgjDV4i9MhAG32A\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Enter the appropriate name for the lambda function and here we are using Runtime as Python 3.8. You can choose any as per your requirement. Now, click on Create Function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/n6tqUrmzR56lvLlBvwzNQsPuaKCKBfSSTiXCAs0BMKCBjZuDp0MyE9ig9FMOaz9xrsTuh8qQ-EGgYtqeeQChFlQRdXiyVYBA-HdiWIX0LkZqqUu428Yo97VluArZyTYBL6u_ilE\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Now, in the Function code section, put the below function handler code. The body will be called from the API Gateway endpoint URL. We can also get the status code and headers and log it in CloudWatch logs. But, as of now, we would skip looking at the CloudWatch logs. However, we will check the whole response with all details while Testing the API Gateway call.<\/p>\n\n\n\n<p>Code:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/VquYDOxXcUrEC1eq9BJe9G5quluZmQya7dGJYHIz-URpz2au_SH5wuFwrx2Xvi4vCO2Liuf3QRSbnRBVxTEe9gJCqybbbG3TRJBfB-1GLmW-rMbmXzPFsND8ywvla_6CRw4xbXc\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/K6OPLFg-IFVojwphNYAHmG_zxoCZ3kTFyRA0CdvogHlxRJiUv-SSoplld827gzXIVywa6LPv_fDOuKMP2wrALBRkOMtUmLN1YmCAtTgqzy3WS721l1v6LJxRTbX2G0IazwsVh20\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">After putting the code, click on Deploy and then click on Test. Put an Event name and then click on &#8216;Create&#8217;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/S4T9TNgeQBSZ3A5aqVJ3iS3CZDB5Bwf4q6pHQIdkKsB9B2j2oOrrbQJ5fkFB7fHB3DJ7VaMOVmioPAsr0nbHjAubprY0rjGjp-ryk0VP1vu1a-g8A8-xX9aaGS7y--uSGAK1kSE\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p>At the top of the screen, we must see the response and below:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/EKVRCjvfhane6Y1Zh_WBJsv7D91sUXUBVdN_sLR7892jZkWmUqmkbpcinoP5kEGz0YpPJnsEriGNxZpEqNgZVzL1mHY-bNwiKa3sAEikJ3-UTjpqMRw0L8zVp7Yg5Q_hmbXSW0A\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Now, coming back to our first tab where we created our API Gateway&#8217;s GET method.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Put the lambda function name that we just created and click on &#8216;Save&#8217;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/sMOehaV5Gwc-DDxqyrYuZFHEU7ProSujHiauMLPz-ArH2sPiWxUXxDXTNI0X_8g4ZxefwWPZVE9EgpVoUc8oj6U5AvmAvkAHD2wt9tz1NG9skMHq1b6RVEHvHKMCSFBgt80vK1w\" alt=\"\"\/><\/figure>\n\n\n\n<p>Now, we can test our integration by clicking on TEST<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/X-_SFhsqMnnl3CatbzF2jAyPbu38CVFoZvyZoZZ7ZvoJgsPeYUADSAZJueC9Ai7sMQKVX91-274u8CzQWXm2lCgAiqM9ixmmfcbFVukRiA_3Qp7px3W6xrRUmOp2DuD1ZbbOnJs\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/474PwprHuk2wvzHSK3Cf1coeNC95J3K1bOxmpfOsLHez-E8DBHiaGQxkK8ctzPKbWmwDV2ahA844BpCyN1ShZ85kqXRhvZzBf9OKLl2nLPPUTEZRhyNRvvDnNxXqICAvElTwD08\" alt=\"\"\/><\/figure>\n\n\n\n<p>We should now see the response that is getting called from our Lambda Function.<\/p>\n\n\n\n<p>So, we have our API Gateway triggering Lambda function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/H775NqYh0CLWNfiVXITjBT3XCSKHboQGxepoXXsBd4tEdrmcEZVhZLIcVTCcv_2Zt4f7Ls0ykkAa9HD61vlMq2_OjZj7yJVDDOJJDV-GhaLmdG8nPWwyXdsfopc8mqYSdnFlWEo\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Now, similarly, we can create resource inside our GET method for the data to be called from sub-paths<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/O9h9_8ybpaKo3KcdEtcdK2-SKlKB5jY1YTMq_mRWehqEh59XvtpC9EGiLEwaRbIFHsJkF9kOrQAlc4owZF63xTKnf_qC5_Wz9Q5Gu1YizRvx8i9CUYBnsJ83fK_fM8Dh3aU8MiU\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">We have created a resource called &#8216;states&#8217;. You can use it as per your requirement. Once done, click on &#8216;Create Resource&#8217;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/DUnFbLa014RIwBZZdXmBWHHkVzQB4NAFwv8tJzALsfsixIkbnheVYxoHfMvcY7EkrVk8JuZRIzdCWVn-KbUGrTv7I02ejnxrA4H4jK0_xKIK0qZBvG3GPufym0trAd1anBUTMHI\" alt=\"\"\/><\/figure>\n\n\n\n<p>Now, again we will create a method for this New Resource &#8216;states&#8217; and integrate it with a new Lambda function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/6RFhYgvGJQYIkUqQ525QjqW3FRFRW_wj-aqUp-lTZCB-HErPO1oAGzjuvRNQKweec2KdIOC1JlRWqq8Z_61Nn8oUPUErurCcM73lg47HgHEQiio-jNrQ6SsZ4Zczf5DeJ-v93_I\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/mIvgx8URmXvH0hFW-kCbbIPOX2FigOD-ybS1G_CjeVJ0EzMolYxn6FueD7pFPkL8EUEn1tULeAOJWYQHgbCgOK_zdcQElsYaUBdMUrRKTOMA_oOtZdMjDkMY0MyFWrkQII9wHoY\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">As shown above, create a new Lambda function with the same steps as shown above and put the appropriate code inside the Lambda function handler.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/TkrRX0Ab5eVuVq2qS8w2uofMor9NGFHeTNuh32Gt2ZCapuDf3KXs1w5RPhvi__QuyU7E-BdlgDwHLDB5_qlT55RBONioKoIqcmbLVkiVmLAZSOfC5TMrfhQ34Gqp9CT8aVSwSYQ\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/-1aS4VNIoDV8iKBR7EFTza7qcJ_HzCKC6B-KQtD469UQYybuCMMiQ4W9dM38pLFb9Q58ZqTadK5PCBqiR6sVj7rhHu3zbCuO_TccKqJX5um_MFG9bss3-Yt-ggyw9cM5aH2F7Tk\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/53oxRXf3kkytDDEyb7N-gPgzC2_5tR9W6NLbjJ5t5S9RC4--f37F02SPEfk9I8ayAslcGWbjGMChSHZArudeBBsnktb4VaNOadc3IhBO5jR3k-p0GUIOMPk_K_A_dCCOQvajgcc\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/rsyM4rXRWEQxtKBmdNK_8T8C9sujOfpnmz8yFMa-wvmWmmbdB83LDhfFcDVx3LtknLA-HR54S83tX9AqN3-9XhYvXqeZILhHv4LNaOD3YxI0km9AWQ6txkRQ4PApljIFNuQlsUw\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Once we are done till here, we can test this method also by clicking on &#8216;TEST&#8217;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/TjvVHH5wkmM9Ccno7VyxkqmLKdoPOJjZUFFYgf9ZXov3gt2aAtzMW1xvL9fiGkka9rcX2aE2U0Jo9YAIEcywWCvkRNneuQ_pxzw6xLqRl8igaFwqoZmmG93g-KuQGK29N8OMlHA\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">The Response Body should be as per our Lambda Function.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/ss9lDQmNHai4uqJkwQHs2woWWDU_YSbG2aPwG9BtouUEDIf2cC4ZEmVsY1IUmzINN5w1VwreBw1wvzzejUUF0SzAKK_MSPVJH3o_PGErNTdXCj4OX2QwIhFpSm0TK4OT-LxJOnw\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Now, to consume these methods, we can have an HTTP endpoint, which we can call from client side code. To do that, in the Action dropdown, click on &#8216;Deploy API&#8217;.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/iTePy4-0kAGNG_oTJlMI51gBpsniAoIsjJFUZ8rw7_uWfrYS22TflC7ItvJjCn7uLJ_v4dwz_-GN8ARfs42X0cIKcioTN8W-Se9mH3RGPPqAo2UHlZjzv4xp4RYoOa1LUc4kigU\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Here, we can select New Stage Deployment and put the appropriate Stage name such as dev, test, prod. We would now use dev.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/OKiJe6bxMkR4hHschi0VagKsu5-3ZUk5BZR8EHwfXK7D_094TfQpM_gDjLSSxeYwsL_JbCZg3TDFPF26BiKt3Xt-V9unH8vubz7MGSwhOr4pVHzqi3PVG5LtTnBNKvwR0BhVCRU\" alt=\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"\/><\/figure>\n\n\n\n<p>As we can see, we have now got an Invoke URL from AWS.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/MRa7Y6BevTWMaBqG-ySMp46N0JKFYzmK5cbU2ldiV6PP-9SA_ckvFPY874hHtItAN6dTN0rsuBAzkXBIRoX_B5QNCyZwzlKQ_tZg8Y_XVLrMaeSFFrzYK8AO9KWbOxgtyinf8yU\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Copy that URL and try calling it from the browser. We should get the response from the Lambda function that is being triggered by our API Gateway.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/b9LIwrqKFhaAMPjvh3SwX9KAJIyXNNT-wraYFYnuQ2QPHd07XkP0GdCv0Ief2Otaov4c8arWPUqMYGtQ6DT4OJX80HrpNlPPPljJi8bR54uKiKbn2cQx5Ubn7DyFYvAvpT5JnWI\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Also, test the URL by putting \/states in the URL for testing the sub resource that we created above.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/pqCA5bUf8isX8tPvsLjSBAmX4SvYQLtDjdORGZjD2nbL63-LHLheZwEWF_D0747HeCcUr96jYjTykAvixjLiAlL9xFauWmyZVCWCmO3sej28jZQqp6d82oNhpu8TceIojgxpCCs\" alt=\"\"\/><\/figure>\n\n\n\n<p>If we will try to invoke any other resources which do not exist, we would get the below error.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/OH6Kt-RgzKsb4bGHIJW_P9UxBbNG-NQf56hUhSEAVhaoxoF9T5AW7hjR6LDIrlSoG0ymCPnC1kKPf8y-CFsgzKhjCwJPCGTPLIWQFJYhbMTNRPXw9RqP_d0RoEryPPdrxcrhK08\" alt=\"\"\/><\/figure>\n\n\n\n<h2><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p class=\"has-text-align-justify\">In this blog, we have seen how the API Gateway helps us in integrating our client-side code with the AWS cloud network. In this hands-on, we have used the Lambda function to get triggered but we can use it with many other AWS services. We will discuss more of API Gateway and its other implementations in our upcoming blog. Stay tuned to keep getting all updates about our upcoming new blogs on AWS and relevant technologies.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Meanwhile \u2026<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Keep Exploring -&gt; Keep Learning -&gt; Keep Mastering<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">This blog is part of our effort towards building a knowledgeable and kick-ass tech community. At <a href=\"https:\/\/www.workfall.com\/\">Workfall<\/a>, we strive to provide the best tech and pay opportunities to AWS-certified talents. If you\u2019re looking to work with global clients, build kick-ass products while making big bucks doing so, give it a shot at<a href=\"https:\/\/www.workfall.com\/partner\/\"> workfall.com\/partner<\/a> today.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">12<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span> To access data, business logic, and functionalities from backend services, API can act as an interface! Using API Gateway, we can enable two-way communication in real-time applications. In this blog, we will discuss Amazon API Gateway, its architecture, key concepts, use cases, and features. As part of hands-on, we will also create API Gateway and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":323,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[2],"tags":[85,95,3,4,96,97,98,6],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to create, publish and maintain high scalable APIs using AWS API Gateway? - The Workfall Blog<\/title>\n<meta name=\"description\" content=\"An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to create, publish and maintain high scalable APIs using AWS API Gateway? - The Workfall Blog\" \/>\n<meta property=\"og:description\" content=\"An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/\" \/>\n<meta property=\"og:site_name\" content=\"The Workfall Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/workfall\" \/>\n<meta property=\"article:published_time\" content=\"2021-11-01T15:42:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-22T07:22:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@workfall\" \/>\n<meta name=\"twitter:site\" content=\"@workfall\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Workfall\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"20 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\",\"name\":\"Workfall - Hire #Kickass Coders On Demand\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/workfall\/\",\"https:\/\/www.linkedin.com\/company\/workfall\/\",\"https:\/\/facebook.com\/workfall\",\"https:\/\/twitter.com\/workfall\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"contentUrl\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"width\":400,\"height\":400,\"caption\":\"Workfall - Hire #Kickass Coders On Demand\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"name\":\"The Workfall Blog\",\"description\":\"#Tech #Remote #Jobs\",\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#primaryimage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png\",\"width\":1200,\"height\":628,\"caption\":\"AWS API Gatway - Workfall\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#webpage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/\",\"name\":\"How to create, publish and maintain high scalable APIs using AWS API Gateway? - The Workfall Blog\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#primaryimage\"},\"datePublished\":\"2021-11-01T15:42:52+00:00\",\"dateModified\":\"2025-08-22T07:22:55+00:00\",\"description\":\"An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients.\",\"breadcrumb\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learning.workfall.com\/learning\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#webpage\"},\"author\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\"},\"headline\":\"How to create, publish and maintain high scalable APIs using AWS API Gateway?\",\"datePublished\":\"2021-11-01T15:42:52+00:00\",\"dateModified\":\"2025-08-22T07:22:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#webpage\"},\"wordCount\":2765,\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png\",\"keywords\":[\"api\",\"apigateway\",\"AWS\",\"Cloud\",\"endpoint\",\"REST\",\"RESTful\",\"workfall\"],\"articleSection\":[\"AWS Cloud Computing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\",\"name\":\"Workfall\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"caption\":\"Workfall\"},\"sameAs\":[\"https:\/\/www.workfall.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to create, publish and maintain high scalable APIs using AWS API Gateway? - The Workfall Blog","description":"An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/","og_locale":"en_US","og_type":"article","og_title":"How to create, publish and maintain high scalable APIs using AWS API Gateway? - The Workfall Blog","og_description":"An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients.","og_url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/","og_site_name":"The Workfall Blog","article_publisher":"https:\/\/facebook.com\/workfall","article_published_time":"2021-11-01T15:42:52+00:00","article_modified_time":"2025-08-22T07:22:55+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@workfall","twitter_site":"@workfall","twitter_misc":{"Written by":"Workfall","Est. reading time":"20 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization","name":"Workfall - Hire #Kickass Coders On Demand","url":"https:\/\/learning.workfall.com\/learning\/blog\/","sameAs":["https:\/\/www.instagram.com\/workfall\/","https:\/\/www.linkedin.com\/company\/workfall\/","https:\/\/facebook.com\/workfall","https:\/\/twitter.com\/workfall"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","contentUrl":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","width":400,"height":400,"caption":"Workfall - Hire #Kickass Coders On Demand"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website","url":"https:\/\/learning.workfall.com\/learning\/blog\/","name":"The Workfall Blog","description":"#Tech #Remote #Jobs","publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#primaryimage","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png","width":1200,"height":628,"caption":"AWS API Gatway - Workfall"},{"@type":"WebPage","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#webpage","url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/","name":"How to create, publish and maintain high scalable APIs using AWS API Gateway? - The Workfall Blog","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#primaryimage"},"datePublished":"2021-11-01T15:42:52+00:00","dateModified":"2025-08-22T07:22:55+00:00","description":"An API Gateway is a serverless service from AWS that allows us to create REST APIs that are going to be public and accessible to the clients.","breadcrumb":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learning.workfall.com\/learning\/blog\/"},{"@type":"ListItem","position":2,"name":"How to create, publish and maintain high scalable APIs using AWS API Gateway?"}]},{"@type":"Article","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#article","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#webpage"},"author":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a"},"headline":"How to create, publish and maintain high scalable APIs using AWS API Gateway?","datePublished":"2021-11-01T15:42:52+00:00","dateModified":"2025-08-22T07:22:55+00:00","mainEntityOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#webpage"},"wordCount":2765,"publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-publish-and-maintain-high-scalable-apis-using-aws-api-gateway\/#primaryimage"},"thumbnailUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png","keywords":["api","apigateway","AWS","Cloud","endpoint","REST","RESTful","workfall"],"articleSection":["AWS Cloud Computing"],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a","name":"Workfall","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","caption":"Workfall"},"sameAs":["https:\/\/www.workfall.com"]}]}},"jetpack_featured_media_url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/API-Gateway.png","jetpack-related-posts":[{"id":799,"url":"https:\/\/learning.workfall.com\/learning\/blog\/control-access-to-an-http-api-using-jwt-authorizers-via-amazon-cognito\/","url_meta":{"origin":322,"position":0},"title":"How to control access to an HTTP API using JWT Authorizers via Amazon Cognito?","date":"December 9, 2021","format":false,"excerpt":"In this blog, we'll look at how to secure AWS API Gateway endpoints using Cognito User Pools and a JWT authorizer. Authorizers, as described by API Gateway, are services that provide or deny API access to clients depending on a variety of parameters, including authenticated users, permissions, IP addresses, and\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"HTTP API JWT Authorizers via Amazon Cognito","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/12\/cognito.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":523,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-an-api-endpoint-to-provision-a-dynamodb-table-using-aws-appsync-part-1\/","url_meta":{"origin":322,"position":1},"title":"How to create an API endpoint to provision a DynamoDB table using AWS AppSync? (Part 1)","date":"November 10, 2021","format":false,"excerpt":"AppSync is an AWS-managed GraphQL layer that is built on the benefits of GraphQL and adds a few more cool features to its web and mobile SDKs. AppSync is the best of GraphQL with less complexity than before, which works out great for Serverless applications. You can refer to our\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"AWS AppSync - Integration with React Application","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/CoverImages_1200x628px-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":316,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-an-api-endpoint-to-provision-a-dynamodb-table-using-aws-appsync-part-2\/","url_meta":{"origin":322,"position":2},"title":"How to create an API endpoint to provision a DynamoDB table using AWS AppSync?","date":"November 1, 2021","format":false,"excerpt":"In our previous blog How to create an API endpoint to provision a DynamoDB table using AWS AppSync? (Part 1), we have discussed AWS AppSync, its features, benefits, use cases, etc. In this blog, we will discuss a business scenario to understand and create an API endpoint to provision a\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Amazon AppSync - Integration with React Application","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/AppSync.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1498,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-etl-api-data-to-aws-s3-bucket-using-apache-airflow\/","url_meta":{"origin":322,"position":3},"title":"How to ETL API data to AWS S3 Bucket using Apache Airflow?","date":"November 1, 2022","format":false,"excerpt":"2.5 quintillion bytes of data are produced every day with 90% of it generated solely in the last 2 years (Source: Forbes). Data is pulled, cleaned, transfigured & then presented for analytical purposes & put to use in thousands of applications to fulfill consumer needs & more. While generating insights\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"How to ETL API data to AWS S3 Bucket using Apache Airflow?","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/11\/Cover-Images_Part2-2.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":884,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-and-delete-email-templates-on-amazon-ses-using-node-js-and-postman-api\/","url_meta":{"origin":322,"position":4},"title":"How to create and delete Email Templates on Amazon SES using Node.js and Postman API?","date":"February 28, 2022","format":false,"excerpt":"If you are developing an application that needs to send bulk emails to larger communities for trigger-based messages such as email verification or password resets, announcements like festival discounts, newsletters, or general notifications in a cost-effective, flexible, and scalable manner, then Amazon SES is the answer. Amazon SES can be\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Send and Delete Emails Templates with Amazon SES","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/02\/Cover-Images_Part2-9.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1066,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-architect-nestjs-microservices-with-aws-elastic-beanstalk\/","url_meta":{"origin":322,"position":5},"title":"Architect NestJS Microservices with AWS Elastic Beanstalk","date":"July 19, 2022","format":false,"excerpt":"In the AWS Cloud journey, we come across Elastic Beanstalk to be better than other services in managing the infrastructure environments effectively. On the other hand, NestJS is popular in creating efficient and scalable server-side applications, and is relatively a new option for the backend framework - it is lightweight,\u2026","rel":"","context":"In &quot;Backend Development&quot;","img":{"alt_text":"Architect NestJS Microservices with AWS Elastic Beanstalk","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/07\/NestJS-Microservices-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/322"}],"collection":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/comments?post=322"}],"version-history":[{"count":8,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/322\/revisions"}],"predecessor-version":[{"id":2217,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/322\/revisions\/2217"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media\/323"}],"wp:attachment":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media?parent=322"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/categories?post=322"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/tags?post=322"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}