Skip to content

This repository shows how to add a CDK executable to a NodjeJS runtime for AWS Lambda. It utilizes Lambda Layer to provide CDK to the lambda.

Notifications You must be signed in to change notification settings

wmarcuse/cdk-executable-lambda-layer

Repository files navigation

CDK executable in AWS Lambda

Apache Groovy Gradle

This repository shows how to add a CDK executable to a NodjeJS runtime for AWS Lambda. It utilizes Lambda Layer to provide CDK to the lambda.

Prerequisites

Usage

  • Clone the repository to your machine
  • Export Lambda Layer Zip
    • gradle -q exportLambdaLayerZip

Now the lambda layer zip is available in /build/layer/aws-cdk.zip

Use the Zip file to create a new Lambda Layer Version i.e. via the Web Console, CDK or in another way.

Then create a Lambda function with the Layer attached and the following handler assigned with a NodeJs runtime:

exports.handler = async (event) => {
  const spawnSync = require('child_process').spawnSync;
  const process = spawnSync('cdk', ['--version'], {
  stdio: 'pipe',
  stderr: 'pipe'
  });
  console.log(process.status);
  console.log(process.stdout.toString());
};

NOTE

This project is tested under Linux and Windows WSL-2. There may be executable issues when building the layer via a pure Windows cli.


About

This repository shows how to add a CDK executable to a NodjeJS runtime for AWS Lambda. It utilizes Lambda Layer to provide CDK to the lambda.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published