AWS::Serverless::LayerVersion - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS::Serverless::LayerVersion

Crea una Lambda LayerVersion que contiene el código de biblioteca o de tiempo de ejecución que necesita una función de Lambda.

El recurso AWS::Serverless::LayerVersion también admite el atributo de recurso Metadata, por lo que puede indicarle a AWS SAM que cree capas personalizadas incluidas en tu aplicación. Para obtener más información sobre la creación de capas, consulta Creación de capas Lambda en AWS SAM.

Nota importante: Desde la publicación del atributo de recurso UpdatereplacePolicy CloudFormation en AWS::Lambda::LayerVersion, (recomendado) ofrece las mismas ventajas que AWS::Serverless::LayerVersion.

Cuando se transforma una LayerVersion sin servidor, SAM también transforma el identificador lógico del recurso para que CloudFormation no elimine automáticamente las LayerVersions antiguas cuando se actualice el recurso.

nota

Al realizar la implementación en AWS CloudFormation, AWS SAM transforma sus recursos de AWS SAM en recursos de CloudFormation. Para obtener más información, consulta Recursos de CloudFormation generados para AWS SAM.

Sintaxis

Para declarar esta entidad en su plantilla de AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis:

YAML

Type: AWS::Serverless::LayerVersion Properties: CompatibleArchitectures: List CompatibleRuntimes: List ContentUri: String | LayerContent Description: String LayerName: String LicenseInfo: String PublishLambdaVersion: Boolean RetentionPolicy: String

Propiedades

CompatibleArchitectures

Especifica las arquitecturas del conjunto de instrucciones compatibles para la versión de capa.

Para obtener más información sobre esta propiedad, consulta Arquitecturas del conjunto de instrucciones Lambda en la Guía para desarrolladores de AWS Lambda.

Valores válidos: x86_64, arm64

Tipo: lista

Obligatorio: no

Valor predeterminado: x86_64

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad CompatibleArchitectures de un recurso AWS::Lambda::LayerVersion.

CompatibleRuntimes

Lista de tiempos de ejecución compatibles con esta LayerVersion.

Tipo: lista

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad CompatibleRuntimes de un recurso AWS::Lambda::LayerVersion.

ContentUri

Uri de Amazon S3, ruta a la carpeta local u objeto LayerContent del código de capa.

Si se proporciona un objeto Uri o LayerContent de Amazon S3, el objeto de Amazon S3 al que se hace referencia debe ser un archivo ZIP válido que contenga el contenido de una capa Lambda.

Si se proporciona una ruta a una carpeta local, para que el contenido se transforme correctamente, la plantilla debe seguir el flujo de trabajo que incluye sam build seguido de sam deploy o sam package. De forma predeterminada, las rutas relativas se resuelven con respecto a la ubicación de la plantilla de AWS SAM.

Tipo: String | LayerContent

Obligatorio: sí

Compatibilidad con CloudFormation: esta propiedad es similar a la propiedad Content de un recurso AWS::Lambda::LayerVersion. Las propiedades anidadas de Amazon S3 tienen un nombre diferente.

Description

Descripción de esta capa.

Tipo: cadena

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad Description de un recurso AWS::Lambda::LayerVersion.

LayerName

El nombre o nombre de recurso de Amazon (ARN) de la capa.

Tipo: cadena

Obligatorio: no

Predeterminado: identificador lógico del recurso

Compatibilidad con CloudFormation: esta propiedad es similar a la propiedad LayerName de un recurso AWS::Lambda::LayerVersion. Si no especificas un nombre, se utilizará como nombre el ID lógico del recurso.

LicenseInfo

Información sobre la licencia de esta LayerVersion.

Tipo: cadena

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad se transfiere directamente a la propiedad LicenseInfo de un recurso AWS::Lambda::LayerVersion.

PublishLambdaVersion

Propiedad opcional que crea una nueva versión de Lambda cada vez que se produce un cambio en el recurso LayerVersion al que se hace referencia. Al habilitar la función de Lambda conectada con AutoPublishAlias y AutoPublishAliasAllProperties, se creará una nueva versión de Lambda para cada cambio realizado en el recurso LayerVersion.

Tipo: Booleano

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.

RetentionPolicy

Esta propiedad especifica si las versiones antiguas de su LayerVersion se retienen o se eliminan al eliminar un recurso. Si tiene que retener sus versiones antiguas de LayerVersion al actualizar o reemplazar un recurso, debe tener el atributo UpdateReplacePolicy activado. Para obtener información sobre cómo hacerlo, consulte el Atributo UpdateReplacePolicy en la Guía del usuario de AWS CloudFormation.

Valores válidos: Retain o Delete

Tipo: cadena

Obligatorio: no

Compatibilidad con CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente CloudFormation.

Notas adicionales: Cuando se especifica Retain, AWS SAM añade un Atributos de recursos compatibles con AWS SAM de DeletionPolicy: Retain al recurso AWS::Lambda::LayerVersion transformado.

valores devueltos

Ref.

Cuando se proporciona el ID lógico de este recurso a la función intrínseca Ref, esta devuelve el nombre del recurso de la función de Lambda subyacente.

Para obtener más información sobre el uso de la función Ref, consulta Ref en la Guía del usuario de AWS CloudFormation.

Ejemplos

Ejemplo de LayerVersion

Ejemplo de una LayerVersion

YAML

Properties: LayerName: MyLayer Description: Layer description ContentUri: 's3://sam-s3-demo-bucket/my-layer.zip' CompatibleRuntimes: - nodejs10.x - nodejs12.x LicenseInfo: 'Available under the MIT-0 license.' RetentionPolicy: Retain