AWS Lambda
Developer Guide

AWS Lambda Releases

The following table describes the important changes to the AWS Lambda Developer Guide after May 2018. For notification about updates to this documentation, subscribe to the RSS feed.

Change Description Date

Provisioned concurrency

You can now allocate provisioned concurrency for a function version or alias. Provisioned concurrency enables a function to scale without fluctuations in latency. See Managing Concurrency for a Lambda Function for details.

December 3, 2019

Create a database proxy

You can now use the Lambda console to create a database proxy for a Lambda function. A database proxy enables a function to reach high concurrency levels without exhausting database connections. For details, see Configuring Database Access for a Lambda Function.

December 3, 2019

Percentiles support for the duration metric

You can now filter the duration metric based on percentiles. For details, see AWS Lambda Metrics.

November 26, 2019

Increased concurrency for stream event sources

A new option for DynamoDB stream and Kinesis stream event source mappings enables you to process more than one batch at a time from each shard. When you increase the number of concurrent batches per shard, your function's concurrency can be up to ten times the number of shards in your stream. For details, see AWS Lambda Event Source Mapping.

November 25, 2019

Function states

When you create or update a function, it enters a pending state while Lambda provisions resources to support it. If you connect your function to a VPC, this allows Lambda to create a shared ENI right away, instead of creating ENIs when your function is invoked. This results in better performance for VPC-connected functions, but may require an update to your automation. See AWS Lambda Function States for details.

November 25, 2019

Error handling options for asynchronous invocation

New configuration options are available for asynchronous invocation. You can configure Lambda to limit retries and set a maximum event age. For details, see Configuring Error Handling for Asynchronous Invocation.

November 25, 2019

Error handling for stream event sources

New configuration options are available for event source mappings that read from streams. You can configure DynamoDB stream and Kinesis stream event source mappings to limit retries and set a maximum record age. When errors occur, you can configure the event source mapping to split batches before retrying, and to send invocation records for failed batches to a queue or topic. For details, see AWS Lambda Event Source Mapping.

November 25, 2019

Destinations for asynchronous invocation

You can now configure Lambda to send records of asynchronous invocations to another service. Invocation records contain details about the event, context, and function response. You can send invocation records to an SQS queue, SNS topic, Lambda function, or EventBridge event bus. For details, see Configuring Destinations for Asynchronous Invocation.

November 25, 2019

New runtimes for Node.js, Python, and Java

New runtimes are available for Node.js 12, Python 3.8, and Java 11. For details, see AWS Lambda Runtimes.

November 18, 2019

FIFO queue support for Amazon SQS event sources

You can now create an event source mapping that reads from a FIFO queue. Previously, only standard queues were supported. For details, see Using AWS Lambda with Amazon SQS.

November 18, 2019

Create applications in the Lambda console

Application creation in the Lambda console is now generally available. For instructions, see Creating an Application with Continuous Delivery in the Lambda Console.

October 31, 2019

Create applications in the Lambda console (beta)

You can now create a Lambda application with an integrated continuous delivery pipeline in the Lambda console. The console provides sample applications that you can use as a starting point for your own project. Choose between AWS CodeCommit and GitHub for source control. Each time you push changes to your repository, the included pipeline builds and deploys them automatically. For instructions, see Creating an Application with Continuous Delivery in the Lambda Console.

October 3, 2019

Performance improvements for VPC-connected functions

Lambda now uses a new type of elastic network interface that is shared by all functions in a virtual private cloud (VPC) subnet. When you connect a function to a VPC, Lambda creates a network interface for each combination of security group and subnet that you choose. When the shared network interfaces are available, the function no longer needs to create additional network interfaces as it scales up. This dramatically improves startup times. For details, see Configuring a Lambda Function to Access Resources in a VPC.

September 3, 2019

Stream batch settings

You can now configure a batch window for Amazon DynamoDB and Amazon Kinesis event source mappings. Configure a batch window of up to five minutes to buffer incoming records until a full batch is available. This reduces the number of times that your function is invoked when the stream is less active.

August 29, 2019

CloudWatch Logs Insights integration

The monitoring page in the Lambda console now includes reports from Amazon CloudWatch Logs Insights. For details, see Monitoring Functions in the AWS Lambda Console.

June 18, 2019

Amazon Linux 2018.03

The Lambda execution environment is being updated to use Amazon Linux 2018.03. For details, see Execution Environment.

May 21, 2019

Node.js 10

A new runtime is available for Node.js 10, nodejs10.x. This runtime uses Node.js 10.15 and will be updated with the latest point release of Node.js 10 periodically. Node.js 10 is also the first runtime to use Amazon Linux 2. For details, see Building Lambda Functions with Node.js.

May 13, 2019

GetLayerVersionByArn API

Use the GetLayerVersionByArn API to download layer version information with the version ARN as input. Compared to GetLayerVersion, GetLayerVersionByArn lets you use the ARN directly instead of parsing it to get the layer name and version number.

April 25, 2019

Ruby

AWS Lambda now supports Ruby 2.5 with a new runtime. For details, see Building Lambda Functions with Ruby.

November 29, 2018

Layers

With Lambda layers, you can package and deploy libraries, custom runtimes, and other dependencies separately from your function code. Share your layers with your other accounts or the whole world. For details, see AWS Lambda Layers.

November 29, 2018

Custom runtimes

Build a custom runtime to run Lambda functions in your favorite programming language. For details, see Custom AWS Lambda Runtimes.

November 29, 2018

Application Load Balancer triggers

Elastic Load Balancing now supports Lambda functions as a target for Application Load Balancers. For details, see Using Lambda with Application Load Balancers.

November 29, 2018

Use Kinesis HTTP/2 stream consumers as a trigger

You can use Kinesis HTTP/2 data stream consumers to send events to AWS Lambda. Stream consumers have dedicated read throughput from each shard in your data stream and use HTTP/2 to minimize latency. For details, see Using AWS Lambda with Kinesis.

November 19, 2018

Python 3.7

AWS Lambda now supports Python 3.7 with a new runtime. For more information, see Building Lambda Functions with Python.

November 19, 2018

Payload limit increase for asynchronous function invocation

The maximum payload size for asynchronous invocations increased from 128 KB to 256 KB, which matches the maximum message size from an Amazon SNS trigger. For details, see AWS Lambda Limits.

November 16, 2018

AWS GovCloud (US-East) Region

AWS Lambda is now available in the AWS GovCloud (US-East) Region. For details, see AWS GovCloud (US-East) Now Open on the AWS blog.

November 12, 2018

Moved AWS SAM topics to a separate Developer Guide

A number of topics were focused on building serverless applications using the AWS Serverless Application Model (AWS SAM). These topics have been moved to AWS Serverless Application Model Developer Guide.

October 25, 2018

View Lambda applications in the console

You can view the status of your Lambda applications on the Applications page in the Lambda console. This page shows the status of the AWS CloudFormation stack. It includes links to pages where you can view more information about the resources in the stack. You can also view aggregate metrics for the application and create custom monitoring dashboards.

October 11, 2018

Function execution timeout limit

To allow for long-running functions, the maximum configurable execution timeout increased from 5 minutes to 15 minutes. For details, see AWS Lambda Limits.

October 10, 2018

Support for PowerShell Core language in AWS Lambda

AWS Lambda now supports the PowerShell Core language. For more information, see Programming Model for Authoring Lambda Functions in PowerShell.

September 11, 2018

Support for .NET Core 2.1.0 runtime in AWS Lambda

AWS Lambda now supports the .NET Core 2.1.0 runtime. For more information, see .NET Core CLI.

July 9, 2018

Updates now available over RSS

You can now subscribe to an RSS feed to receive notifications to the AWS Lambda Developer Guide.

July 5, 2018

Support for Amazon SQS as event source

AWS Lambda now supports Amazon Simple Queue Service (Amazon SQS) as an event source. For more information, see Invoking Lambda Functions.

June 28, 2018

China (Ningxia) Region

AWS Lambda is now available in the China (Ningxia) Region. For more information about Lambda Regions and endpoints, see Regions and Endpoints in the AWS General Reference.

June 28, 2018

Earlier Updates

The following table describes the important changes in each release of the AWS Lambda Developer Guide before June 2018.

Change Description Date
Runtime support for Node.js runtime 8.10

AWS Lambda now supports Node.js runtime version 8.10. For more information, see Building Lambda Functions with Node.js.

April 2, 2018
Function and alias revision IDs

AWS Lambda now supports revision IDs on your function versions and aliases. You can use these IDs to track and apply conditional updates when you are updating your function version or alias resources.

January 25, 2018
Runtime support for Go and .NET 2.0

AWS Lambda has added runtime support for Go and .NET 2.0. For more information, see Building Lambda Functions with Go and Building Lambda Functions with C#.

January 15, 2018
Console Redesign

AWS Lambda has introduced a new Lambda console to simplify your experience and added a Cloud9 Code Editor to enhance your ability debug and revise your function code. For more information, see Creating Functions Using the AWS Lambda Console Editor.

November 30,2017
Setting Concurrency Limits on Individual Functions

AWS Lambda now supports setting concurrency limits on individual functions. For more information, see Managing Concurrency for a Lambda Function.

November 30,2017
Shifting Traffic with Aliases

AWS Lambda now supports shifting traffic with aliases. For more information, see Rolling Deployments for Lambda Functions .

November 28, 2017
Gradual Code Deployment

AWS Lambda now supports safely deploying new versions of your Lambda function by leveraging Code Deploy. For more information, see Gradual Code Deployment.

November 28, 2017
China (Beijing) Region

AWS Lambda is now available in the China (Beijing) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

November 9, 2017
Introducing SAM Local

AWS Lambda introduces SAM Local (now known as SAM CLI), a AWS CLI tool that provides an environment for you to develop, test, and analyze your serverless applications locally before uploading them to the Lambda runtime. For more information, see Testing and Debugging Serverless Applications.

August 11, 2017
Canada (Central) Region

AWS Lambda is now available in the Canada (Central) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

June 22, 2017
South America (São Paulo) Region

AWS Lambda is now available in the South America (São Paulo) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

June 6, 2017
AWS Lambda support for AWS X-Ray. Lambda introduces support for X-Ray, which allows you to detect, analyze, and optimize performance issues with your Lambda applications. For more information, see Using AWS X-Ray. April 19, 2017
Asia Pacific (Mumbai) Region

AWS Lambda is now available in the Asia Pacific (Mumbai) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

March 28, 2017
AWS Lambda now supports Node.js runtime v6.10

AWS Lambda added support for Node.js runtime v6.10. For more information, see Building Lambda Functions with Node.js.

March 22, 2017
Europe (London) Region

AWS Lambda is now available in the Europe (London) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

February 1, 2017
AWS Lambda support for the .NET runtime, Lambda@Edge (Preview), Dead Letter Queues and automated deployment of serverless applications.

AWS Lambda added support for C#. For more information, see Building Lambda Functions with C#.

Lambda@Edge allows you to run Lambda functions at the AWS Edge locations in response to CloudFront events. For more information, see Using AWS Lambda with CloudFront Lambda@Edge.

December 3, 2016
AWS Lambda adds Amazon Lex as a supported event source.

Using Lambda and Amazon Lex, you can quickly build chat bots for various services like Slack and Facebook. For more information, see Using AWS Lambda with Amazon Lex.

November 30, 2016
US West (N. California) Region

AWS Lambda is now available in the US West (N. California) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

November 21, 2016
Introduced the AWS Serverless Application Model for creating and deploying Lambda-based applications and using environment variables for Lambda function configuration settings.

AWS Serverless Application Model: You can now use the AWS SAM to define the syntax for expressing resources within a serverless application. In order to deploy your application, simply specify the resources you need as part of your application, along with their associated permissions policies in a AWS CloudFormation template file (written in either JSON or YAML), package your deployment artifacts, and deploy the template. For more information, see AWS Lambda Applications.

Environment variables: You can use environment variables to specify configuration settings for your Lambda function outside of your function code. For more information, see AWS Lambda Environment Variables.

November 18, 2016
Asia Pacific (Seoul) Region

AWS Lambda is now available in the Asia Pacific (Seoul) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

August 29, 2016
Asia Pacific (Sydney) Region

Lambda is now available in the Asia Pacific (Sydney) Region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

June 23, 2016
Updates to the Lambda console

The Lambda console has been updated to simplify the role-creation process. For more information, see Create a Lambda Function with the Console.

June 23, 2016
AWS Lambda now supports Node.js runtime v4.3

AWS Lambda added support for Node.js runtime v4.3. For more information, see Building Lambda Functions with Node.js.

April 07, 2016
Europe (Frankfurt) region

Lambda is now available in the Europe (Frankfurt) region. For more information about Lambda regions and endpoints, see Regions and Endpoints in the AWS General Reference.

March 14, 2016

VPC support

You can now configure a Lambda function to access resources in your VPC. For more information, see Configuring a Lambda Function to Access Resources in a VPC.

February 11, 2016

AWS Lambda runtime has been updated.

The execution environment has been updated.

November 4, 2015

Versioning support, Python for developing code for Lambda functions, scheduled events, and increase in execution time

You can now develop your Lambda function code using Python. For more information, see Building Lambda Functions with Python.

Versioning: You can maintain one or more versions of your Lambda function. Versioning allows you to control which Lambda function version is executed in different environments (for example, development, testing, or production). For more information, see AWS Lambda Function Versions.

Scheduled events: You can also set up AWS Lambda to invoke your code on a regular, scheduled basis using the AWS Lambda console. You can specify a fixed rate (number of hours, days, or weeks) or you can specify a cron expression. For an example, see Using AWS Lambda with Amazon CloudWatch Events.

Increase in execution time: You can now set up your Lambda functions to run for up to five minutes allowing longer running functions such as large volume data ingestion and processing jobs.

October 08, 2015

Support for DynamoDB Streams

DynamoDB Streams is now generally available and you can use it in all the regions where DynamoDB is available. You can enable DynamoDB Streams for your table and use a Lambda function as a trigger for the table. Triggers are custom actions you take in response to updates made to the DynamoDB table. For an example walkthrough, see Tutorial: Using AWS Lambda with Amazon DynamoDB Streams .

July 14, 2015

AWS Lambda now supports invoking Lambda functions with REST-compatible clients.

Until now, to invoke your Lambda function from your web, mobile, or IoT application you needed the AWS SDKs (for example, AWS SDK for Java, AWS SDK for Android, or AWS SDK for iOS). Now, AWS Lambda supports invoking a Lambda function with REST-compatible clients through a customized API that you can create using Amazon API Gateway. You can send requests to your Lambda function endpoint URL. You can configure security on the endpoint to allow open access, leverage AWS Identity and Access Management (IAM) to authorize access, or use API keys to meter access to your Lambda functions by others.

For an example Getting Started exercise, see Using AWS Lambda with Amazon API Gateway.

For more information about the Amazon API Gateway, see https://aws.amazon.com/api-gateway/.

July 09, 2015

The AWS Lambda console now provides blueprints to easily create Lambda functions and test them.

AWS Lambda console provides a set of blueprints. Each blueprint provides a sample event source configuration and sample code for your Lambda function that you can use to easily create Lambda-based applications. All of the AWS Lambda Getting Started exercises now use the blueprints. For more information, see Getting Started with AWS Lambda.

July 09, 2015

AWS Lambda now supports Java to author your Lambda functions.

You can now author Lambda code in Java. For more information, see Building Lambda Functions with Java.

June 15, 2015

AWS Lambda now supports specifying an Amazon S3 object as the function .zip when creating or updating a Lambda function.

You can upload a Lambda function deployment package (.zip file) to an Amazon S3 bucket in the same region where you want to create a Lambda function. Then, you can specify the bucket name and object key name when you create or update a Lambda function.

May 28, 2015

AWS Lambda now generally available with added support for mobile backends

AWS Lambda is now generally available for production use. The release also introduces new features that make it easier to build mobile, tablet, and Internet of Things (IoT) backends using AWS Lambda that scale automatically without provisioning or managing infrastructure. AWS Lambda now supports both real-time (synchronous) and asynchronous events. Additional features include easier event source configuration and management. The permission model and the programming model have been simplified by the introduction of resource policies for your Lambda functions.

The documentation has been updated accordingly. For information, see the following topics:

Getting Started with AWS Lambda

AWS Lambda

April 9, 2015
Preview release

Preview release of the AWS Lambda Developer Guide.

November 13, 2014

On this page: