

# Usar o AWS CloudFormation com camadas
<a name="layers-cfn"></a>

Você pode usar o CloudFormation para criar uma camada e associá-la à sua função do Lambda. O modelo de exemplo a seguir cria uma camada chamada `my-lambda-layer` e a anexa à função do Lambda usando a propriedade **Camadas**.

Neste exemplo, o modelo especifica o nome do recurso da Amazon (ARN) de um [perfil de execução](lambda-intro-execution-role.md) do IAM existente. Você também pode criar um novo perfil de execução no modelo usando o recurso [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) do CloudFormation.

Sua função não precisa de nenhuma permissão especial para usar camadas.

```
---
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
```