Puede utilizar AWS CloudFormation para crear una capa y asociar la capa con la función de Lambda. En la siguiente plantilla de ejemplo se crea una capa denominada my-lambda-layer
y se asocia la capa a la función de Lambda mediante la propiedad Layers.
En este ejemplo, la plantilla especifica el nombre de recurso de Amazon (ARN) de un rol de ejecución de IAM existente. También puede crear un nuevo rol de ejecución en la plantilla mediante el recurso de la AWS CloudFormation AWS::IAM::Role.
Su función no necesita ningún permiso especial para usar capas.
---
Description: CloudFormation Template for Lambda Function with Lambda Layer
Resources:
MyLambdaLayer:
Type: AWS::Lambda::LayerVersion
Properties:
LayerName: my-lambda-layer
Description: My Lambda Layer
Content:
S3Bucket: amzn-s3-demo-bucket
S3Key: my-layer.zip
CompatibleRuntimes:
- python3.9
- python3.10
- python3.11
MyLambdaFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: my-lambda-function
Runtime: python3.9
Handler: index.handler
Timeout: 10
Role: arn:aws:iam::111122223333
:role/my_lambda_role
Layers:
- !Ref MyLambdaLayer