2023-09-26 13:55:58 -04:00
# Lambda code examples for the SDK for JavaScript (v3)
2022-09-21 09:03:52 -04:00
## Overview
2023-09-26 13:55:58 -04:00
Shows how to use the AWS SDK for JavaScript (v3) to work with AWS Lambda.
2022-09-21 09:03:52 -04:00
2023-09-26 13:55:58 -04:00
<!--custom.overview.start-->
<!--custom.overview.end-->
2022-09-21 09:03:52 -04:00
2023-10-02 12:43:28 -04:00
_ Lambda allows you to run code without provisioning or managing servers. _
2022-09-21 09:03:52 -04:00
2023-09-26 13:55:58 -04:00
## ⚠ Important
2024-01-09 12:33:12 -05:00
* Running this code might result in charges to your AWS account. For more details, see [AWS Pricing ](https://aws.amazon.com/pricing/ ) and [Free Tier ](https://aws.amazon.com/free/ ).
2024-01-04 12:50:33 -05:00
* 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 ).
2023-09-26 13:55:58 -04:00
<!--custom.important.start-->
<!--custom.important.end-->
2020-09-30 15:40:42 +01:00
2021-05-18 14:27:10 +01:00
## Code examples
2020-09-30 15:40:42 +01:00
2023-09-26 13:55:58 -04:00
### Prerequisites
For prerequisites, see the [README ](../../README.md#Prerequisites ) in the `javascriptv3` folder.
2024-01-04 12:50:33 -05:00
2023-09-26 13:55:58 -04:00
<!--custom.prerequisites.start-->
<!--custom.prerequisites.end-->
### Get started
2024-02-08 15:35:59 -05:00
- [Hello Lambda ](hello.js#L6 ) (`ListFunctions` )
2023-09-26 13:55:58 -04:00
2024-01-04 12:50:33 -05:00
2024-10-24 09:34:43 -04:00
### Basics
Code examples that show you how to perform the essential operations within a service.
- [Learn the basics ](../iam/actions/attach-role-policy.js )
2022-09-21 09:03:52 -04:00
### Single actions
Code excerpts that show you how to call individual service functions.
2024-04-30 12:22:08 -07:00
- [CreateFunction ](actions/create-function.js#L15 )
- [DeleteFunction ](actions/delete-function.js#L5 )
- [GetFunction ](actions/get-function.js#L5 )
- [Invoke ](actions/invoke.js#L5 )
- [ListFunctions ](actions/list-functions.js#L5 )
- [UpdateFunctionCode ](actions/update-function-code.js#L15 )
2024-11-18 10:54:42 -07:00
- [UpdateFunctionConfiguration ](actions/update-function-configuration.js#L14 )
2022-09-21 09:03:52 -04:00
2024-11-18 11:43:06 -05:00
### Scenarios
Code examples that show you how to accomplish a specific task by calling multiple
functions within the same service.
- [Automatically confirm known users with a Lambda function ](../cross-services/wkflw-pools-triggers/index.js )
2024-01-04 12:50:33 -05:00
<!--custom.examples.start-->
<!--custom.examples.end-->
2022-09-21 09:03:52 -04:00
## Run the examples
2023-09-26 13:55:58 -04:00
### Instructions
**Note ** : All code examples are written in ECMAscript 6 (ES6). For guidelines on converting to CommonJS, see
[JavaScript ES6/CommonJS syntax ](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/sdk-examples-javascript-syntax.html ).
**Run a single action **
``` bash
node ./actions/<fileName>
```
**Run a scenario **
2024-08-28 14:08:16 -04:00
2023-09-26 13:55:58 -04:00
Most scenarios can be run with the following command:
``` bash
node ./scenarios/<fileName>
```
2022-09-27 09:18:01 -04:00
2024-08-28 14:08:16 -04:00
**Run with options **
Some actions and scenarios can be run with options from the command line:
``` bash
node ./scenarios/<fileName> --option1 --option2
```
[util.parseArgs ](https://nodejs.org/api/util.html#utilparseargsconfig ) is used to configure
these options. For the specific options available to each script, see the `parseArgs` usage
for that file.
2023-09-26 13:55:58 -04:00
<!--custom.instructions.start-->
<!--custom.instructions.end-->
2022-09-27 09:18:01 -04:00
2023-09-26 13:55:58 -04:00
#### Hello Lambda
2022-09-21 09:03:52 -04:00
2023-09-26 13:55:58 -04:00
This example shows you how to get started using Lambda.
2022-09-21 09:03:52 -04:00
2023-09-26 13:55:58 -04:00
``` bash
node ./hello.js
```
2020-09-30 15:40:42 +01:00
2024-10-24 09:34:43 -04:00
#### Learn the basics
2023-09-26 13:55:58 -04:00
This example shows you how to do the following:
2023-10-02 12:43:28 -04: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.
2023-09-26 13:55:58 -04:00
2024-10-24 09:34:43 -04:00
<!--custom.basic_prereqs.lambda_Scenario_GettingStartedFunctions.start-->
<!--custom.basic_prereqs.lambda_Scenario_GettingStartedFunctions.end-->
2023-09-26 13:55:58 -04:00
2024-10-24 09:34:43 -04:00
<!--custom.basics.lambda_Scenario_GettingStartedFunctions.start-->
<!--custom.basics.lambda_Scenario_GettingStartedFunctions.end-->
2024-01-04 12:50:33 -05:00
2023-09-26 13:55:58 -04:00
2024-11-18 11:43:06 -05:00
#### Automatically confirm known users with a Lambda function
This example shows you how to automatically confirm known Amazon Cognito users with a Lambda function.
- Configure a user pool to call a Lambda function for the <code>PreSignUp</code> trigger.
- Sign up a user with Amazon Cognito.
- The Lambda function scans a DynamoDB table and automatically confirms known users.
- Sign in as the new user, then clean up resources.
<!--custom.scenario_prereqs.cross_CognitoAutoConfirmUser.start-->
<!--custom.scenario_prereqs.cross_CognitoAutoConfirmUser.end-->
<!--custom.scenarios.cross_CognitoAutoConfirmUser.start-->
<!--custom.scenarios.cross_CognitoAutoConfirmUser.end-->
2023-09-26 13:55:58 -04:00
### Tests
⚠ Running tests might result in charges to your AWS account.
2024-01-04 12:50:33 -05:00
2023-09-26 13:55:58 -04:00
To find instructions for running these tests, see the [README ](../../README.md#Tests )
in the `javascriptv3` folder.
2024-01-04 12:50:33 -05:00
2023-09-26 13:55:58 -04:00
<!--custom.tests.start-->
<!--custom.tests.end-->
2020-09-30 15:40:42 +01:00
2022-09-21 09:03:52 -04:00
## Additional resources
2020-09-30 15:40:42 +01:00
2023-10-02 12:43:28 -04: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 JavaScript (v3) Lambda reference ](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lambda )
2023-09-26 13:55:58 -04:00
<!--custom.resources.start-->
<!--custom.resources.end-->
---
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2021-05-18 14:27:10 +01:00
2024-01-04 12:50:33 -05:00
SPDX-License-Identifier: Apache-2.0