AWS Lambda Runtimes
AWS Lambda supports multiple languages through the use of runtimes. You choose a runtime when you create a function, and you can change runtimes by updating your function's configuration. The underlying execution environment, which is shared by all runtimes, provides additional libraries and environment variables that you can access from your function code.
When your function is invoked, Lambda attempts to re-use the execution environment from a previous invocation if one is available. This saves time preparing the execution environment, and allows you to save resources like database connections and temporary files in the execution context to avoid creating them every time your function runs.
A runtime can support a single version of a language, multiple versions of a language, or multiple languages. Runtimes specific to a language or framework version are deprecated when the version reaches end of life.
To use other languages in Lambda, you can implement a custom runtime. The Lambda execution environment provides a runtime interface for getting invocation events and sending responses. You can deploy a custom runtime alongside your function code, or in a layer.
Node.js Runtimes
| Name | Identifier |
|---|---|
|
Node.js 8.10 |
|
|
Node.js 6.10 |
|
Python Runtimes
| Name | Identifier |
|---|---|
|
Python 3.6 |
|
|
Python 3.7 |
|
|
Python 2.7 |
|
Ruby Runtimes
| Name | Identifier |
|---|---|
|
Ruby 2.5 |
|
Java Runtimes
| Name | Identifier | JDK |
|---|---|---|
|
Java 8 |
|
java-1.8.0-openjdk |
Go Runtimes
| Name | Identifier |
|---|---|
|
Go 1.x |
|
.NET Runtimes
| Name | Identifier | Languages |
|---|---|---|
|
.NET Core 2.1 |
|
C# PowerShell Core 6.0 |
|
.NET Core 2.0 |
|
C# |
|
.NET Core 1.0 |
|
C# |
