Jesse Wynants
03/11/2021, 7:33 PMFrank
Frank
Jesse Wynants
03/11/2021, 7:35 PMFrank
sst start
right?Jesse Wynants
03/11/2021, 7:36 PMJesse Wynants
03/11/2021, 7:37 PMlayers:
# Google Chrome for AWS Lambda as a layer
# Make sure you use the latest version depending on the region
# <https://github.com/shelfio/chrome-aws-lambda-layer>
# puppeteer with serverless and layers: <https://codissimo.wordpress.com/2019/12/27/serverless-puppeteer-with-aws-lambda-layers-and-node-js/>
- arn:aws:lambda:eu-west-1:764866452798:layer:chrome-aws-lambda:20
Jesse Wynants
03/11/2021, 7:37 PMthdxr
03/11/2021, 7:38 PMFrank
sls deploy
and the layer worked inside the Lambda rigth?Jesse Wynants
03/11/2021, 7:38 PMthdxr
03/11/2021, 7:39 PMlayers
Jesse Wynants
03/11/2021, 7:39 PMJesse Wynants
03/11/2021, 7:39 PMthdxr
03/11/2021, 7:40 PMJesse Wynants
03/11/2021, 7:41 PM// Create Queue
const createLabelQueue = new sst.Queue(this, "Queue", {
consumer: "src/create-label.handler",
});
I probably create a sst.Function load the layer there, and use the function name as consumer?Matthew Purdon
03/11/2021, 7:42 PMconst brefArn = 'arn:aws:lambda:us-east-1:209497400698:layer:php-80-fpm:7';
const brefLayer = LayerVersion.fromLayerVersionArn(this, 'adminBrefLayer', brefArn);
new AwsFunction(this, 'handler', {
layers: [
brefLayer,
]
}
Matthew Purdon
03/11/2021, 7:43 PMJesse Wynants
03/11/2021, 7:44 PMFrank
// Import a layer
const layer = LayerVersion.fromLayerVersionArn(this, "MyLayer", layerArn);
// Create queue and attach layer to the consumer
const createLabelQueue = new sst.Queue(this, "Queue", {
consumer: {
handler: "src/create-label.handler",
layers: [ layer ]
},
});
Jesse Wynants
03/11/2021, 7:46 PMJesse Wynants
03/11/2021, 7:46 PMFrank
sst start
, how are you guys using it?thdxr
03/11/2021, 7:51 PMnodeModules
option will help with that but I have common things across a dozen functions so I figured I'd toss them in a layerthdxr
03/11/2021, 7:51 PMFrank
Jesse Wynants
03/11/2021, 8:01 PMsst start
😅Jesse Wynants
03/11/2021, 8:02 PMFrank
Frank
Jesse Wynants
03/11/2021, 8:08 PMJesse Wynants
03/11/2021, 8:09 PMFrank
Jesse Wynants
03/11/2021, 8:10 PMFrank
Matthew Purdon
03/11/2021, 8:13 PMMatthew Purdon
03/11/2021, 8:15 PMJesse Wynants
03/11/2021, 8:16 PMJesse Wynants
03/11/2021, 8:17 PMaws lambda get-layer-version --layer-name arn:aws:lambda:eu-west-1:764866452798:layer:chrome-aws-lambda --version-number 20
Frank
Frank
Matthew Purdon
03/11/2021, 8:18 PMFrank
thdxr
03/11/2021, 8:20 PMFrank
thdxr
03/11/2021, 8:20 PMFrank
.build
in ur appthdxr
03/11/2021, 8:21 PM/opt
and they play with each runtime's env vars for things like node_modules
to make it search thereFrank
Frank
thdxr
03/11/2021, 8:21 PMnode_modules
seems it it would be hard to recreate what's happening in aws locallythdxr
03/11/2021, 8:22 PMFrank
thdxr
03/11/2021, 8:38 PMthdxr
03/11/2021, 8:38 PMFrank
nodejs/node_modules
?thdxr
03/11/2021, 8:41 PMFrank
/opt
Frank
thdxr
03/11/2021, 8:43 PMFrank
/opt
directory as well?thdxr
03/11/2021, 8:45 PMthdxr
03/11/2021, 8:45 PMopt
pathFrank
thdxr
03/11/2021, 8:47 PM/opt
thdxr
03/11/2021, 8:47 PMSSTLayer.resolve("my-resource.png")
Frank
thdxr
03/11/2021, 8:48 PMthdxr
03/11/2021, 8:48 PMFrank
Frank
chrome-aws-lambda
layer (use case #2) - https://github.com/serverless-stack/examples/tree/main/layer-chrome-aws-lambdaFrank
Andy Forward
03/19/2021, 4:28 PMFrank