mxfactorial / pg-sequelize-lambda-layer

pg and sequelize as lambda layer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

avoids deploying

du -sh node_modules
15M	node_modules

with pg and sequelize as dependencies

build your own

  1. yarn install
  2. zip layer:
    mkdir nodejs && \
    cp -r node_modules nodejs/node_modules && \
    zip -r layer.zip nodejs && \
    rm -rf nodejs
  3. 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
  4. 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

About

pg and sequelize as lambda layer