Jędrzej Kuryło
01/30/2022, 3:30 PMaws-sdk
. I copied node_modules/aws-sdk
, but now lambdas fail because of some other packages missing, which are dependencies of aws-sdk
. I added the ones that I saw missing in error messages jmespath
and xml2js
to the layer, but now it's failing because of missing xmlbuilder
, which is a dependency of xml2js
... There must be a better way to do that! 🙃Jędrzej Kuryło
01/30/2022, 3:31 PM#!/bin/bash
echo "Cleaning up workspace ..."
rm -rf .layers/aws-sdk
echo "Creating AWS SDK layer ..."
mkdir -p .layers/aws-sdk/nodejs/node_modules
cp -r node_modules/aws-sdk .layers/aws-sdk/nodejs/node_modules
cp -r node_modules/jmespath .layers/aws-sdk/nodejs/node_modules
cp -r node_modules/xml2js .layers/aws-sdk/nodejs/node_modules
cp -r node_modules/xmlbuilder .layers/aws-sdk/nodejs/node_modules
echo "AWS SDK layer is ready!"
and here's my layer config
const defaultFunctionProps = {
bundle: {
externalModules: ['@prisma/client', '@shopcat/prisma', 'aws-sdk', 'aws-lambda'],
},
layers: [
new lambda.LayerVersion(this, 'PrismaLayer', {
code: lambda.Code.fromAsset('.layers/prisma'),
}),
new lambda.LayerVersion(this, 'AwsSdkLayer', {
code: lambda.Code.fromAsset('.layers/aws-sdk'),
}),
],
permissions: ['sqs'],
};
Frank
aws-sdk
into the .layers/aws-sdk
folder? ie.
// clear out everything in .layers/aws-sdk
cd .layers/aws-sdk
npm init -y
npm install --save aws-sdk
Frank
aws-sdk
Jędrzej Kuryło
01/31/2022, 6:15 AMJędrzej Kuryło
01/31/2022, 6:15 AMJędrzej Kuryło
01/31/2022, 6:15 AM