🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more →
Socket
Book a DemoInstallSign in
Socket

@studyportals/cdk-lambda-config

Package Overview
Dependencies
Maintainers
22
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@studyportals/cdk-lambda-config

CDK Construct for adding config.json file to a Lambda Function

latest
Source
npmnpm
Version
0.0.2
Version published
Weekly downloads
20
-50%
Maintainers
22
Weekly downloads
 
Created
Source

CDK Construct for adding config.json file to a Lambda Function

When using Lambda@Edge, a function cannot use environment variables. This CDK Construct uses a Custom Resource to inject a config.json file with user provided values into an existing function, and publishes a new version that is ready to be used as part of a CloudFront Distribution.

Inspired by similar mechanism in https://github.com/aws-samples/cloudfront-authorization-at-edge/

Usage

npm install @studyportals/cdk-lambda-config

Using the construct:

const originalFunction = lambda.Function.fromFunctionArn(...)
const updatedFunction = new LambdaConfig(this, "UpdatedFunction", {
  function: originalFunction,
  config: {
    Key1: "Some value",
    Nested: {
      Key2: "Other value",
    },
  },
  nonce: "1", // See TSDoc.
}
// Can now retrieve the new version:
updatedFunction.version

Read from within the handler:

const fs = require("fs")
const path = require("path")
const config = JSON.parse(
  fs.readFileSync(path.join(__dirname, "config.json"), "utf-8"),
)

If function update is meant to run concurrently targeting the same function, you can pass locksTable property in the config object, pointing to a table that's been created using LockableTable.create(this,"UpdateCodeLocks") in the project that uses @studyportals/cdk-lambda-config This will ensure that multiple stacks won't get stuck while trying to update the same function

Keywords

cdk

FAQs

Package last updated on 11 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts