AWS Lambda
Developer Guide

Configuring AWS Lambda Functions

A Lambda function consists of code and any associated dependencies. In addition, a Lambda function also has configuration information associated with it. Initially, you specify the configuration information when you create a Lambda function.

To configure function settings

  1. Open the Lambda console Functions page.

  2. Choose a function.

  3. Configure any of the available options, and then choose Save.

The function designer is at the top of the configuration page.


      The designer example screenshot shows a Lambda function with an Amazon S3 trigger and Amazon EventBridge
        destination.

The designer shows an overview of your function and its upstream and downstream resources. You can use it to configure triggers, layers, and destinations.

  • Triggers – Triggers are services and resources that you have configured to invoke your function. Choose Add trigger to create a Lambda event source mapping or to configure a trigger in another service that the Lambda console integrates with. For details about these services and others, see Using AWS Lambda with Other Services.

  • Layers – Choose the Layers node to add layers to your application. A layer is a ZIP archive that contains libraries, a custom runtime, or other dependencies.

  • Destinations – Add a destination to your function to send details about invocation results to another service. You can send invocation records when your function is invoked asynchronously, or by an event source mapping that reads from a stream.

With the function node selected in the designer, you can modify the following settings.

Function Settings

  • Code – The code and dependencies of your function. For scripting languages, you can edit your function code in the embedded editor. To add libraries, or for languages that the editor doesn't support, upload a deployment package.

  • Runtime – The Lambda runtime that executes your function.

  • Handler – The method that the runtime executes when your function is invoked, such as index.handler. The first value is the name of the file or module. The second value is the name of the method.

  • Environment variables – Key-value pairs that Lambda sets in the execution environment. Use environment variables to extend your function's configuration outside of code.

  • Tags – Key-value pairs that Lambda attaches to your function resource. Use tags to organize Lambda functions into groups for cost reporting and filtering in the Lambda console.

    Tags apply to the entire function, including all versions and aliases.

  • Execution role – The IAM role that AWS Lambda assumes when it executes your function.

  • Description – A description of the function.

  • Memory– The amount of memory available to the function during execution. Choose an amount between 128 MB and 3,008 MB in 64-MB increments.

    Lambda allocates CPU power linearly in proportion to the amount of memory configured. At 1,792 MB, a function has the equivalent of one full vCPU (one vCPU-second of credits per second).

  • Timeout – The amount of time that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds.

  • Virtual private cloud (VPC) – If your function needs network access to resources that are not available over the internet, configure it to connect to a VPC.

  • Database proxiesCreate a database proxy for functions that use an Amazon RDS DB instance or cluster.

  • Active tracing – Sample incoming requests and trace sampled requests with AWS X-Ray.

  • ConcurrencyReserve concurrency for a function to set the maximum number of simultaneous executions for a function. Provision concurrency to ensure that a function can scale without fluctiations in latency.

    Reserved concurrency applies to the entire function, including all versions and aliases.

  • Asynchronous invocationConfigure error handling behavior to reduce the number of retries that Lambda attempts, or the amount of time that unprocessed events stay queued before Lambda discards them. Configure a dead-letter queue to retain discarded events.

    You can configure error handling settings on a function, version, or alias.

Except as noted in the preceding list, you can only change function settings on the unpublished version of a function. When you publish a version, code and most settings are locked to ensure a consistent experience for users of that version. Use aliases to propagate configuration changes in a controlled manner.

To configure functions with the Lambda API, use the following actions:

For example, to update a function's memory setting with the AWS CLI, use the update-function-configuration command.

$ aws lambda update-function-configuration --function-name my-function --memory-size 256

For function configuration best practices, see Function Configuration.