2023-10-13 14:57:41 -05:00
<!--Generated by WRITEME on 2023-10-13 17:49:16.143025 (UTC)-->
2023-03-31 05:36:53 -07:00
# Lambda code examples for the SDK for Python
2020-07-09 17:27:30 -07:00
2022-04-08 15:42:13 -07:00
## Overview
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
Shows how to use the AWS SDK for Python (Boto3) to work with AWS Lambda.
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
<!--custom.overview.start-->
<!--custom.overview.end-->
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
* Lambda allows you to run code without provisioning or managing servers. *
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
## ⚠ Important
2023-10-13 14:57:41 -05:00
* 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 ).
2022-04-08 15:42:13 -07:00
* Running the tests might result in charges to your AWS account.
2023-03-31 05:36:53 -07:00
* 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 ).
2022-04-08 15:42:13 -07:00
* 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 ).
2021-11-23 15:45:06 -08:00
2023-03-31 05:36:53 -07:00
<!--custom.important.start-->
<!--custom.important.end-->
2022-04-08 15:42:13 -07:00
## Code examples
2023-04-13 11:38:14 -07:00
### 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
```
<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->
2023-03-31 05:36:53 -07:00
### Single actions
Code excerpts that show you how to call individual service functions.
* [Create a function ](lambda_basics.py#L135 ) (`CreateFunction` )
* [Delete a function ](lambda_basics.py#L169 ) (`DeleteFunction` )
* [Get a function ](lambda_basics.py#L113 ) (`GetFunction` )
* [Invoke a function ](lambda_basics.py#L183 ) (`Invoke` )
* [List functions ](lambda_basics.py#L251 ) (`ListFunctions` )
* [Update function code ](lambda_basics.py#L207 ) (`UpdateFunctionCode` )
* [Update function configuration ](lambda_basics.py#L230 ) (`UpdateFunctionConfiguration` )
2021-11-23 15:45:06 -08:00
2023-03-31 05:36:53 -07:00
### Scenarios
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.
2021-11-23 15:45:06 -08:00
2023-10-13 14:57:41 -05:00
* [Get started with functions ](lambda_handler_basic.py )
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
### Cross-service examples
2021-11-23 15:45:06 -08:00
2023-03-31 05:36:53 -07:00
Sample applications that work across multiple AWS services.
2021-11-23 15:45:06 -08:00
2023-10-13 14:57:41 -05:00
* [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 messenger application ](../../cross_service/stepfunctions_messenger )
* [Create a websocket chat application ](../../cross_service/apigateway_websocket_chat )
* [Use API Gateway to invoke a Lambda function ](../../example_code/lambda )
* [Use scheduled events to invoke a Lambda function ](../../example_code/lambda )
2021-11-23 15:45:06 -08:00
2023-03-31 05:36:53 -07:00
## Run the examples
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
### Instructions
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
<!--custom.instructions.start-->
<!--custom.instructions.end-->
2023-04-13 11:38:14 -07:00
2023-03-31 05:36:53 -07:00
#### Get started with functions
This example shows you how to do the following:
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
* Create an IAM role and Lambda function, then upload handler code.
* Invoke the function with a single parameter and get results.
* Update the function code and configure with an environment variable.
* Invoke the function with new parameters and get results. Display the returned execution log.
* List the functions for your account, then clean up resources.
2020-07-09 17:27:30 -07:00
2023-04-13 11:38:14 -07:00
<!--custom.scenario_prereqs.lambda_Scenario_GettingStartedFunctions.start-->
<!--custom.scenario_prereqs.lambda_Scenario_GettingStartedFunctions.end-->
2023-03-31 05:36:53 -07:00
Start the example by running the following at a command prompt:
2020-07-09 17:27:30 -07:00
2022-04-08 15:42:13 -07:00
```
2023-03-31 05:36:53 -07:00
python lambda_handler_basic.py
```
2020-07-09 17:27:30 -07:00
2023-10-13 14:57:41 -05:00
2023-03-31 05:36:53 -07:00
<!--custom.scenarios.lambda_Scenario_GettingStartedFunctions.start-->
<!--custom.scenarios.lambda_Scenario_GettingStartedFunctions.end-->
### Tests
⚠ Running tests might result in charges to your AWS account.
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
To find instructions for running these tests, see the [README ](../../README.md#Tests )
in the `python` folder.
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
<!--custom.tests.start-->
<!--custom.tests.end-->
2020-07-09 17:27:30 -07:00
2022-04-08 15:42:13 -07:00
## Additional resources
2023-03-31 05:36:53 -07:00
* [Lambda Developer Guide ](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html )
* [Lambda API Reference ](https://docs.aws.amazon.com/lambda/latest/dg/API_Reference.html )
* [SDK for Python Lambda reference ](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda.html )
<!--custom.resources.start-->
<!--custom.resources.end-->
2020-07-09 17:27:30 -07:00
---
2022-04-08 15:42:13 -07:00
2023-03-31 05:36:53 -07:00
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2020-07-09 17:27:30 -07:00
2023-03-31 05:36:53 -07:00
SPDX-License-Identifier: Apache-2.0