# API Gateway code examples for the SDK for Python ## Overview Shows how to use the AWS SDK for Python (Boto3) to work with Amazon API Gateway. *API Gateway enables you to create and deploy your own REST and WebSocket APIs at any scale.* ## ⚠ Important * Running this code might result in charges to your AWS account. For more details, see [AWS Pricing](https://aws.amazon.com/pricing/?aws-products-pricing.sort-by=item.additionalFields.productNameLowercase&aws-products-pricing.sort-order=asc&awsf.Free%20Tier%20Type=*all&awsf.tech-category=*all) and [Free Tier](https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all). * Running the tests might result in charges to your AWS account. * We recommend that you grant your code least privilege. At most, grant only the minimum permissions required to perform the task. For more information, see [Grant least privilege](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). * This code is not tested in every AWS Region. For more information, see [AWS Regional Services](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services). ## Code examples ### Prerequisites For prerequisites, see the [README](../../README.md#Prerequisites) in the `python` folder. Install the packages required by these examples by running the following in a virtual environment: ``` python -m pip install -r requirements.txt ``` ### Single actions Code excerpts that show you how to call individual service functions. * [Add a response from an AWS service integrated with a method](aws_service/aws_service.py#L25) (`PutIntegrationResponse`) * [Add an HTTP method to a REST resource](aws_service/aws_service.py#L25) (`PutMethod`) * [Add an HTTP response to a REST resource](aws_service/aws_service.py#L25) (`PutMethodResponse`) * [Create a REST API](aws_service/aws_service.py#L41) (`CreateRestApi`) * [Create a REST resource](aws_service/aws_service.py#L73) (`CreateResource`) * [Delete a REST API](aws_service/aws_service.py#L228) (`DeleteRestApi`) * [Deploy a REST API](aws_service/aws_service.py#L164) (`CreateDeployment`) * [Get REST resources](aws_service/aws_service.py#L25) (`GetResources`) * [Integrate a method with an AWS service](aws_service/aws_service.py#L94) (`PutIntegration`) * [List REST APIs](aws_service/aws_service.py#L201) (`GetRestApis`) ### Scenarios Code examples that show you how to accomplish a specific task by calling multiple functions within the same service. * [Create and deploy a REST API](aws_service/aws_service.py) ### Cross-service examples Sample applications that work across multiple AWS services. * [Create a REST API to track COVID-19 data](../../cross_service/apigateway_covid-19_tracker) * [Create a lending library REST API](../../cross_service/aurora_rest_lending_library) * [Create a websocket chat application](../../cross_service/apigateway_websocket_chat) * [Use API Gateway to invoke a Lambda function](../../example_code/lambda) ## Run the examples ### Instructions #### Create and deploy a REST API This example shows you how to do the following: * Create a REST API served by API Gateway. * Add resources to the REST API to represent a user profile. * Add integration methods so that the REST API uses a DynamoDB table to store user profile data. * Send HTTP requests to the REST API to add and retrieve user profiles. Start the example by running the following at a command prompt: ``` python aws_service/aws_service.py ``` For additional instructions on how to set up and run this example, see the [README](aws_service/README.md) in the `aws_service` folder. ### Tests ⚠ Running tests might result in charges to your AWS account. To find instructions for running these tests, see the [README](../../README.md#Tests) in the `python` folder. ## Additional resources * [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html) * [API Gateway API Reference](https://docs.aws.amazon.com/apigateway/latest/api/API_Operations.html) * [SDK for Python API Gateway reference](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/apigateway.html) --- Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0