avoids deploying
du -sh node_modules
15M node_modules
with pg and sequelize as dependencies
yarn install
- zip layer:
mkdir nodejs && \ cp -r node_modules nodejs/node_modules && \ zip -r layer.zip nodejs && \ rm -rf nodejs
- customize prefixed cli variable assignments, then publish:
APP_NAME=lambda-layer RUNTIME=nodejs REGION=us-east-1; \ aws lambda publish-layer-version \ --layer-name=$APP_NAME-$RUNTIME-deps \ --description="$APP_NAME dependencies" \ --zip-file=fileb://$(PWD)/layer.zip \ --region=$REGION \ --query 'LayerVersionArn' \ --output=text
- assign aws account number, then add permission:
APP_NAME=lambda-layer RUNTIME=nodejs REGION=us-east-1 AWS_ACCOUNT_NUMBER=123456789012; \ aws lambda add-layer-version-permission \ --layer-name=$APP_NAME-$RUNTIME-deps \ --statement-id GetLayerPermission \ --action lambda:GetLayerVersion \ --principal $AWS_ACCOUNT_NUMBER \ --version-number 1 \ --region=$REGION
finally, reference LayerVersionArn
from publish output in cloudformation or console