Skip to main content

Amazon Lambda Node.js Library

---

cdk-constructs: Experimental

The APIs of higher level constructs in this module are experimental and under active development. They are subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model and breaking changes will be announced in the release notes. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


This library provides constructs for Node.js Lambda functions.

To use this module, you will need to have Docker installed.

Node.js Function

Define a NodejsFunction:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
lambda.NodejsFunction(self, "my-handler")

By default, the construct will use the name of the defining file and the construct's id to look up the entry file:

.
├── stack.ts # defines a 'NodejsFunction' with 'my-handler' as id
├── stack.my-handler.ts # exports a function named 'handler'

This file is used as "entry" for Parcel. This means that your code is automatically transpiled and bundled whether it's written in JavaScript or TypeScript.

Alternatively, an entry file and handler can be specified:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
lambda.NodejsFunction(self, "MyFunction",
    entry="/path/to/my/file.ts", # accepts .js, .jsx, .ts and .tsx files
    handler="myExportedFunc"
)

All other properties of lambda.Function are supported, see also the AWS Lambda construct library.

Use the containerEnvironment prop to pass environments variables to the Docker container running Parcel:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
lambda.NodejsFunction(self, "my-handler",
    container_environment={
        "NODE_ENV": "production"
    }
)

Configuring Parcel

The NodejsFunction construct exposes some Parcel options via properties: minify, sourceMaps and cacheDir.

Parcel transpiles your code (every internal module) with @babel/preset-env and uses the runtime version of your Lambda function as target.

Configuring Babel with Parcel is possible via a .babelrc or a babel config in package.json.

Working with modules

Externals

By default, all node modules are bundled except for aws-sdk. This can be configured by specifying the externalModules prop.

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
lambda.NodejsFunction(self, "my-handler",
    external_modules=["aws-sdk", "cool-module"
    ]
)

Install modules

By default, all node modules referenced in your Lambda code will be bundled by Parcel. Use the nodeModules prop to specify a list of modules that should not be bundled but instead included in the node_modules folder of the Lambda package. This is useful when working with native dependencies or when Parcel fails to bundle a module.

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
lambda.NodejsFunction(self, "my-handler",
    node_modules=["native-module", "other-module"]
)

The modules listed in nodeModules must be present in the package.json's dependencies. The same version will be used for installation. If a lock file is detected (package-lock.json or yarn.lock) it will be used along with the right installer (npm or yarn). The modules are installed in a Lambda compatible Docker container.

Metadata

Release files for aws-cdk.aws-lambda-nodejs 1.51.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aws-cdk.aws-lambda-nodejs 1.51.0
File Size Uploaded Provenance Actions
aws-cdk.aws-lambda-nodejs-1.51.0.tar.gz 54.9 kB Without provenance Details for aws-cdk.aws-lambda-nodejs-1.51.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aws-cdk.aws-lambda-nodejs 1.51.0
File Interpreter ABI Platform Actions
aws_cdk.aws_lambda_nodejs-1.51.0-py3-none-any.whl Python 3 none any Details for aws_cdk.aws_lambda_nodejs-1.51.0-py3-none-any.whl

Total release size: 107.7 kB

Release files / aws-cdk.aws-lambda-nodejs-1.51.0.tar.gz

Download URL aws-cdk.aws-lambda-nodejs-1.51.0.tar.gz
Size 54.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a084c4ce06ca2461d01e2130b574eaf238d41683520fd9fca6c5c42308c9ea1a
BLAKE2b-256 checksum
How to use checksums
9885404d01faadab528d5a5c9a1bcecaba59093b220aed8e95263a607a415a5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.5

Release files / aws_cdk.aws_lambda_nodejs-1.51.0-py3-none-any.whl

Download URL aws_cdk.aws_lambda_nodejs-1.51.0-py3-none-any.whl
Size 52.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4630c26a74082206854ebc138e0b7478fe8bbe9a86dfa24968a054359778b4d5
BLAKE2b-256 checksum
How to use checksums
8addd19dad08f382326a552a30f9c51d3e2d6c045b1bb6c707786648af91b6ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.5

Security for aws-cdk.aws-lambda-nodejs 1.51.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.51.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page