Configuration all of the lambda layers in your serverless service can be found in serverless yml under the layers property.
Aws lambda ruby layer.
Layer dir required path to layer contents on disk name.
If you are using aws as a provider all layers inside the service are aws lambda layers.
To build a functional lambda layer we will need to package our dependencies and shared code in a zip file with a folder structure as follows.
Aws lambda ruby layers is a sample project that explores aws lambda layers and lambda support for ruby both introduced at re invent 2018.
Lambda layers can come from multiple sources.
Exploring aws lambda layers and ruby support.
Your code runs in an environment that includes the aws sdk for ruby with credentials from an aws identity and access management iam role that you manage.
After adding a layer to a function you can use console log to log out the aws sdk version.
Lambda has been offering layers since the end of 2018 which allows you to create libraries of shared code.
Zip r gem layer zip ruby x ruby 2 5 0 cache aws lambda publish layer version layer name ruby gem region us west 1 compatible runtimes ruby2 5 zip file fileb gem layer zip.
It is generally a bad practice using api directly in the aws lambda.
Lambda provides runtimes for ruby that execute your code to process events.
For the stack name enter aws sdk layer.
Ruby layers with serverless.
For ruby we can use both gem path opt ruby gems 2 5 0 and ruby lib opt ruby lib to distribute common dependencies and shared code via gem path and ruby lib respectively.
Run this command to see the available layers.
Enter your preferred aws region and accept the other defaults.
Layers are applied in the order that s specified merging any folders with the same name.
Aws lambda update function configuration function name my function layers your function can access the content of the layer during execution in the opt directory.
After the deployment completes the new lambda layer is available to use.
This repo shows how to include ruby native gems.
You can run ruby code in aws lambda.
To get started clone this repository.
Each time we publish layer it will be versioned.
As it will consume too much connections very quickly.
When a lambda function configured with a lambda layer is executed aws downloads any specified layers and extracts them to the opt directory on the function execution environment.