aws-lambda
Deploy AWS Lambda functions from command line using a json or yaml config file.
Last updated 2 months ago by adrian.praja .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install aws-lambda 
SYNC missed versions from official npm registry.

cli-lambda-deploy

Command line tool deploy code to AWS Lambda.

Build Status Downloads Downloads Downloads

Notes

Versions prior to 1.0.5 suffer from "Command Injection" vulnerability,
thanks snyk.io and Song Li of Johns Hopkins University for reporting.

Installation

npm install -g aws-lambda

WARN: upgrading to v1.0.0 will remove your function environment and layers if they are not defined in the config file

Config file

  • PATH must point to your code folder and is relative to the config file
  • PATH can be relative or absolute
  • If not set, Runtime defaults to nodejs10.x
  • If not set, FunctionName defaults to the name of the config file ("my-function" in this case)
  • You can use Ref to reference environment variables in the form of env.YOUR_ENVIRONMENT_NAME
  • lambda deploy <file.lambda> credentials needs permissions to CreateFunction, UpdateFunctionConfiguration and UpdateFunctionCode
  • lambda delete <file.lambda> credentials needs permissions to DeleteFunction
  • lambda invoke <file.lambda> credentials needs permissions to InvokeFunction

Sample JSON config


{
	"PATH": "./test-function",
	"AWS_KEY": { "Ref" : "env.AWS_ACCESS_KEY_ID" },,
	"AWS_SECRET": { "Ref" : "env.AWS_SECRET_ACCESS_KEY"},
	"AWS_REGION": "us-east-1",

	"FunctionName": "test-lambda",
	"Role": "your_amazon_role",
	"Runtime": "nodejs10.x",
	"Handler": "index.handler",
	"MemorySize": "128",
	"Timeout": "3",
	"Environment": {
		"Variables": {
			"Hello": "World",
		}
	},
	"Layers": [
		"arn:aws:lambda:eu-central-1:452980636694:layer:awspilot-dynamodb-2_0_0-beta:1"
	],
	"Tags": {
		"k1": "v1",
		"k2": "v2"
	},
	"Description": ""
}

Sample YAML config

# unlike json, comments are allowed in yaml, yey!
# remember to use spaces not tabs ????
PATH: ./new-function
AWS_KEY:  !Ref "env.lambda_deploy_aws_key"
AWS_SECRET: !Ref "env.lambda_deploy_aws_secret"
AWS_REGION: "eu-central-1"

FunctionName: new-function-v12
Role: "arn:aws:iam::452980636694:role/CliLambdaDeploy-TestRole-1H89NZ845HHBK"
Runtime: "nodejs8.10"
Handler: "index.handler"
MemorySize: "128"
Timeout: "3"
Environment:
    Variables:
        Hello: "World"
Layers:
    - "arn:aws:lambda:eu-central-1:452980636694:layer:awspilot-dynamodb-2_0_0-beta:1"
Tags:
    k1: v1
    k2: v2
Description: ""

Deploy from Local to AWS Lambda

// if installed globally then
$ lambda deploy /path/to/my-function.lambda
$ lambda deploy ../configs/my-function.lambda

// if 'npm installed' without the -g then you must use the full path
$ node_modules/.bin/lambda /path/to/my-function.lambda

// you can also add it in your scripts section of your package.json scripts: { "deploy-func1": "lambda deploy ../config/func1.lambda" }
$ npm run deploy-func1

Watch config file

aws-lambda can also watch the config file and the code folder specified in the config.PATH for changes and re-reploy on change

$ lambda start ../configs/my-function.lambda

Current Tags

  • 1.0.6                                ...           latest (2 months ago)

20 Versions

  • 1.0.6                                ...           2 months ago
  • 1.0.5                                ...           6 months ago
  • 1.0.4 [deprecated]           ...           6 months ago
  • 1.0.1 [deprecated]           ...           6 months ago
  • 1.0.0 [deprecated]           ...           6 months ago
  • 0.1.2 [deprecated]           ...           4 years ago
  • 0.1.1 [deprecated]           ...           4 years ago
  • 0.1.0 [deprecated]           ...           4 years ago
  • 0.0.14 [deprecated]           ...           5 years ago
  • 0.0.13 [deprecated]           ...           5 years ago
  • 0.0.12 [deprecated]           ...           5 years ago
  • 0.0.11 [deprecated]           ...           5 years ago
  • 0.0.10 [deprecated]           ...           5 years ago
  • 0.0.9 [deprecated]           ...           5 years ago
  • 0.0.8 [deprecated]           ...           5 years ago
  • 0.0.6 [deprecated]           ...           5 years ago
  • 0.0.5 [deprecated]           ...           5 years ago
  • 0.0.4 [deprecated]           ...           5 years ago
  • 0.0.3 [deprecated]           ...           5 years ago
  • 0.0.1 [deprecated]           ...           5 years ago
Maintainers (1)
Downloads
Today 0
This Week 29
This Month 74
Last Day 25
Last Week 55
Last Month 295
Dependencies (4)
Dev Dependencies (1)
Dependents (149)

Copyright 2014 - 2016 © taobao.org |