AWS::Serverless::Function - 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::Function

Crea una AWS Lambda función, un rol de ejecución AWS Identity and Access Management (IAM) y mapeos de fuentes de eventos que activan la función.

El AWS::Serverless::Function recurso también admite el atributo Metadata resource, por lo que puede indicarle que cree AWS SAM los tiempos de ejecución personalizados que necesite su aplicación. Para obtener más información acerca de la creación de tiempos de ejecución personalizados, consulta Creación de funciones Lambda con tiempos de ejecución personalizados en AWS SAM.

nota

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

Sintaxis

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa la siguiente sintaxis.

Propiedades

Architectures

La arquitectura del conjunto de instrucciones para la función.

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: uno de los valores x86_64 o arm64.

Tipo: lista

Obligatorio: no

Valor predeterminado: x86_64

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Architectures propiedad de un recurso. AWS::Lambda::Function

AssumeRolePolicyDocument

Añade un AssumeRolePolicyDocument formulario al valor predeterminado creado Role para esta función. Si no se especifica esta propiedad, AWS SAM agrega una función de asunción predeterminada para esta función.

Tipo: JSON

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es similar a la AssumeRolePolicyDocument propiedad de un AWS::IAM::Role recurso. AWS SAM agrega esta propiedad al IAM rol generado para esta función. Si se proporciona el nombre de recurso de Amazon (ARN) de un rol para esta función, esta propiedad no hace nada.

AutoPublishAlias

El nombre del alias de Lambda. Para obtener más información acerca de los alias en Lambda, consulta Alias de función de Lambda en la Guía para desarrolladores de AWS Lambda . Para ver ejemplos que utilizan esta propiedad, consulta Implementar aplicaciones sin servidor de forma gradual AWS SAM.

AWS SAM genera AWS::Lambda::Version y AWS::Lambda::Aliasrecursos cuando se establece esta propiedad. Para obtener información acerca de esta situación, consulta Se ha especificado la propiedad AutoPublishAlias. Para obtener información general sobre AWS CloudFormation los recursos generados, consulteRecursos AWS CloudFormation de AWS SAM generados.

Tipo: cadena

Obligatorio: no

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

AutoPublishAliasAllProperties

Especifica cuándo se crea una nueva AWS::Lambda::Version. Cuando es true, se crea una nueva versión de Lambda cuando se modifica cualquier propiedad de la función de Lambda. Cuando es false, se crea una nueva versión de Lambda solo cuando se modifica alguna de las siguientes propiedades:

  • Environment, MemorySize, o SnapStart.

  • Cualquier cambio que dé lugar a una actualización de la propiedad Code, como CodeDict, ImageUri oInlineCode.

La propiedad requiere que AutoPublishAlias se defina.

Si también se especifica AutoPublishSha256, su comportamiento tiene prioridad sobre AutoPublishAliasAllProperties: true.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: false

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

AutoPublishCodeSha256

Cuando se usa, esta cadena funciona con el CodeUri valor para determinar si es necesario publicar una nueva versión de Lambda. Este escenario puede producirse cuando el paquete de implementación almacenado en una ubicación de Amazon Simple Storage Service (Amazon S3) se sustituye por un nuevo paquete de implementación que contiene el código de función de Lambda actualizado, pero la propiedad CodeUri permanece sin alterar (a diferencia de cuando el nuevo paquete de implementación se carga en una nueva ubicación de Amazon S3 y se cambia CodeUri a la nueva ubicación).

Este problema se debe a una AWS SAM plantilla que tiene las siguientes características:

En este escenario, la actualización de AutoPublishCodeSha256 da como resultado la creación correcta de una nueva versión de Lambda. Sin embargo, no se reconocerá el código de función nuevo implementasdo en Amazon S3. Para reconocer el código de función nuevo, considere la posibilidad de utilizar el control de versiones en su bucket de Amazon S3. Especifica la propiedad Version de la función de Lambda y configure el bucket para que utilice siempre el paquete de implementación más reciente.

En este escenario, para activar correctamente la implementación gradual, debe proporcionar un valor único para AutoPublishCodeSha256.

Tipo: cadena

Obligatorio: no

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

CodeSigningConfigArn

El ARN de AWS::Lambda::CodeSigningConfigrecurso, que se utiliza para habilitar la firma de código para esta función. Para obtener más información sobre la firma de código, consulta Configura la firma de código para tu AWS SAM aplicación.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la CodeSigningConfigArn propiedad de un AWS::Lambda::Function recurso.

CodeUri

Código de la función. Los valores aceptados son:

  • La función es Amazon S3URI. Por ejemplo, s3://bucket-123456789/sam-app/1234567890abcdefg.

  • La ruta local a la función. Por ejemplo, hello_world/.

  • Un objeto FunctionCode.

nota

Si proporciona Amazon S3 URI u FunctionCode objeto de una función, debe hacer referencia a un paquete de despliegue de Lambda válido.

Si proporciona una ruta de archivo local, utilice la AWS SAM CLI para cargar el archivo local en el momento de la implementación. Para obtener más información, consulte Cómo se AWS SAM cargan los archivos locales en el momento de la implementación.

Si utiliza funciones intrínsecas en la CodeUri propiedad, no AWS SAM podrá analizar correctamente los valores. Considere usar AWS: LanguageExtensions transform en su lugar.

Tipo: [ Cadena | FunctionCode ]

Obligatorio: condicional. Cuando PackageType se establece en Zip, se requiere CodeUri o InlineCode.

AWS CloudFormation compatibilidad: esta propiedad es similar a la Code propiedad de un AWS::Lambda::Function recurso. Las propiedades anidadas de Amazon S3 tienen un nombre diferente.

DeadLetterQueue

Configura un tema de Amazon Simple Notification Service (AmazonSNS) o una cola de Amazon Simple Queue Service SQS (Amazon) donde Lambda envía eventos que no puede procesar. Para obtener más información sobre la funcionalidad de cola de mensajes fallidos, consulta Cola de mensajes fallidos en la Guía para desarrolladores de AWS Lambda .

nota

Si la fuente de eventos de la función Lambda es una cola de Amazon, configure una SQS cola de letra muerta para la cola de origen, no para la función Lambda. La cola de mensajes fallidos que configure para una función se utiliza para la cola de invocación asíncrona de la función, no para las colas de origen de eventos.

Tipo: Mapa | DeadLetterQueue

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es similar a la DeadLetterConfig propiedad de un AWS::Lambda::Function recurso. En AWS CloudFormation el tipo se deriva deTargetArn, mientras que en se AWS SAM debe pasar el tipo junto con elTargetArn.

DeploymentPreference

La configuración para habilitar las implementasciones graduales de Lambda.

Si se especifica un DeploymentPreference objeto, AWS SAM crea un AWS::CodeDeploy::Applicationllamado ServerlessDeploymentApplication (uno por pila), un AWS::CodeDeploy::DeploymentGroupllamado<function-logical-id>DeploymentGroup, y un AWS::IAM::RolellamadoCodeDeployServiceRole.

Tipo: DeploymentPreference

Obligatorio: no

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

Consulte también: Para obtener más información acerca de esta propiedad, consulta Implementar aplicaciones sin servidor de forma gradual AWS SAM.

Description

Una descripción de la función.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Description propiedad de un AWS::Lambda::Function recurso.

Environment

La configuración de registro para el entorno de tiempo de ejecución.

Tipo: entorno

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Environment propiedad de un AWS::Lambda::Function recurso.

EphemeralStorage

Objeto que especifica el espacio en disco, en MB, disponible para la función de Lambda en /tmp.

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

Tipo: EphemeralStorage

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la EphemeralStorage propiedad de un AWS::Lambda::Function recurso.

EventInvokeConfig

El objeto que describe la configuración de invocación de eventos en una función de Lambda.

Tipo: EventInvokeConfiguration

Obligatorio: no

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

Events

Especifica los eventos que activan esta función. Los eventos constan de un tipo y un conjunto de propiedades que dependen del tipo.

Tipo: EventSource

Obligatorio: no

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

FileSystemConfigs

Lista de FileSystemConfigobjetos que especifican la configuración de conexión de un sistema de archivos Amazon Elastic File System (AmazonEFS).

Si su plantilla contiene un AWS::EFS::MountTargetrecurso, también debe especificar un atributo de DependsOn recurso para garantizar que el objetivo de montaje se cree o actualice antes de la función.

Tipo: lista

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la FileSystemConfigs propiedad de un AWS::Lambda::Function recurso.

FunctionName

Un nombre para la función. Si no especificas un nombre, se genera un nombre único.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la FunctionName propiedad de un AWS::Lambda::Function recurso.

FunctionUrlConfig

El objeto que describe una funciónURL. Una función URL es un HTTPS punto final que se puede utilizar para invocar la función.

Para obtener más información, consulta Función URLs en la Guía para AWS Lambda desarrolladores.

Tipo: FunctionUrlConfig

Obligatorio: no

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

Handler

La función del código a la que se llama para iniciar la ejecución. Esta propiedad solo es necesaria si la propiedad PackageType está establecida en Zip.

Tipo: cadena

Obligatorio: condicional

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Handler propiedad de un AWS::Lambda::Function recurso.

ImageConfig

El objeto utilizado para configurar los ajustes de la imagen del contenedor Lambda. Para obtener más información, consulta Usar imágenes de contenedor con Lambda en la Guía para desarrolladores de AWS Lambda .

Tipo: ImageConfig

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la ImageConfig propiedad de un AWS::Lambda::Function recurso.

ImageUri

El repositorio URI de Amazon Elastic Container Registry (AmazonECR) para la imagen de contenedor de la función Lambda. Esta propiedad solo se aplica si la propiedad PackageType está establecida en Image; de lo contrario, se ignora. Para obtener más información, consulta Usar imágenes de contenedor con Lambda en la Guía para desarrolladores de AWS Lambda .

nota

Si la PackageType propiedad está establecida enImage, entonces ImageUri es obligatoria o bien debe crear la aplicación con Metadata las entradas necesarias en el archivo de AWS SAM plantilla. Para obtener más información, consulte Compilación predeterminada con AWS SAM.

La creación de la aplicación con las entradas Metadata necesarias tiene prioridad sobre ImageUri, por lo que si especifica ambas, ImageUri se ignorará.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la ImageUri propiedad del tipo de AWS::Lambda::Function Code datos.

InlineCode

El código de la función de Lambda que se escribe directamente en la plantilla. Esta propiedad solo se aplica si la propiedad PackageType está establecida en Zip; de lo contrario, se ignora.

nota

Si la propiedad PackageType está establecida en Zip (por defecto), se requiere CodeUri o InlineCode.

Tipo: cadena

Obligatorio: condicional

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la ZipFile propiedad del tipo de AWS::Lambda::Function Code datos.

KmsKeyArn

La clave ARN of an AWS Key Management Service (AWS KMS) que Lambda utiliza para cifrar y descifrar las variables de entorno de la función.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la KmsKeyArn propiedad de un recurso. AWS::Lambda::Function

Layers

La lista de los LayerVersion ARNs elementos que debe utilizar esta función. El orden especificado aquí es el orden en el que se importarán al ejecutar la función de Lambda.

Tipo: lista

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Layers propiedad de un AWS::Lambda::Function recurso.

LoggingConfig

Los ajustes de configuración de Amazon CloudWatch Logs de la función.

Tipo: LoggingConfig

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la LoggingConfigpropiedad de un AWS::Lambda::Function recurso.

MemorySize

El tamaño de la memoria en MB asignado por cada invocación de la función.

Tipo: entero

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la MemorySize propiedad de un AWS::Lambda::Function recurso.

PackageType

El tipo de paquete de implementación de la función de Lambda. Para obtener más información, consulta Paquetes de implementación de Lambda en la Guía para desarrolladores de AWS Lambda .

Notas:

1. Si esta propiedad se establece en Zip (predeterminado), se aplica CodeUri o InlineCode y se ignora ImageUri.

2. Si esta propiedad está establecida en Image, solo se aplica ImageUri y se ignoran CodeUri y InlineCode. El ECR repositorio de Amazon necesario para almacenar la imagen del contenedor de la función se puede crear automáticamente mediante AWS SAM CLI. Para obtener más información, consultesam deploy.

Valores válidos: Zip o Image

Tipo: cadena

Obligatorio: no

Valor predeterminado: Zip

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la PackageType propiedad de un AWS::Lambda::Function recurso.

PermissionsBoundary

El límite ARN de permisos que se utilizará para la función de ejecución de esta función. Esta propiedad solo funciona si el rol se genera para usted.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la PermissionsBoundary propiedad de un AWS::IAM::Role recurso.

Policies

Políticas de permisos para esta función. Las políticas se añadirán a la función de ejecución predeterminada AWS Identity and Access Management (IAM) de la función.

Esta propiedad acepta un valor único o una lista de valores. Entre los valores permitidos se incluyen:

nota

Si especifica la propiedad Role, pasa por alto esta propiedad.

Tipo: Cadena | Lista | Mapa

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es similar a la Policies propiedad de un AWS::IAM::Role recurso.

PropagateTags

Indique si quiere pasar o no las etiquetas de la propiedad Tags a los recursos generados AWS::Serverless::Function. Especifica True para propagar las etiquetas en los recursos generados.

Tipo: Booleano

Obligatorio: no

Valor predeterminado: False

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

ProvisionedConcurrencyConfig

La configuración de simultaneidad aprovisionada del alias de una función.

nota

ProvisionedConcurrencyConfig puede especificarse solamente si se estableció AutoPublishAlias. De lo contrario, se producirá un error.

Tipo: ProvisionedConcurrencyConfig

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la ProvisionedConcurrencyConfig propiedad de un AWS::Lambda::Alias recurso.

ProvisionedConcurrencyConfig

La configuración de simultaneidad aprovisionada del alias de una función.

nota

ProvisionedConcurrencyConfig puede especificarse solamente si se estableció AutoPublishAlias. De lo contrario, se producirá un error.

Tipo: ProvisionedConcurrencyConfig

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la ProvisionedConcurrencyConfig propiedad de un AWS::Lambda::Alias recurso.

RecursiveLoop

El estado de la configuración de detección de bucles recursivos de su función.

Cuando este valor se establece en Lambda Allow y detecta que la función se está invocando como parte de un bucle recursivo, no realiza ninguna acción.

Cuando Lambda detecta que Terminate se invoca la función como parte de un bucle recursivo, detiene la invocación y se lo notifica.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la RecursiveLoop propiedad del AWS::Lambda::Function recurso.

ReservedConcurrentExecutions

El número máximo de ejecuciones simultáneas que quiere reservar para la función.

Para obtener más información, consulta Escalado de funciones de Lambda en la AWS Lambda Guía para desarrolladores de .

Tipo: entero

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la ReservedConcurrentExecutions propiedad de un AWS::Lambda::Function recurso.

Role

El ARN de un IAM rol que se usará como rol de ejecución de esta función.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es similar a la Role propiedad de un AWS::Lambda::Function recurso. Esto es obligatorio en AWS CloudFormation , pero no en AWS SAM. Si no se especifica un rol, se crea uno para usted con un identificador lógico de <function-logical-id>Role.

RolePath

La ruta a la función de IAM ejecución de la función.

Utilice esta propiedad cuando se genere el rol para usted. No la utilice si el rol se especifica con la propiedad Role.

Tipo: cadena

Obligatorio: condicional

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Path propiedad de un AWS::IAM::Role recurso.

Runtime

El identificador del tiempo de ejecución de la función. Esta propiedad solo es necesaria si la propiedad PackageType está establecida en Zip.

nota

Si especifica el provided identificador de esta propiedad, puede usar el atributo Metadata resource para indicar AWS SAM que se cree el tiempo de ejecución personalizado que requiere esta función. Para obtener más información acerca de la creación de tiempos de ejecución personalizados, consulta Creación de funciones Lambda con tiempos de ejecución personalizados en AWS SAM.

Tipo: cadena

Obligatorio: condicional

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Runtime propiedad de un AWS::Lambda::Function recurso.

RuntimeManagementConfig

Configure las opciones de administración del tiempo de ejecución para las funciones de Lambda, como las actualizaciones del entorno de ejecución, el comportamiento de reversión y la selección de una versión de tiempo de ejecución específica. Para obtener más información, consulta las actualizaciones del tiempo de ejecución de Lambda en la Guía para desarrolladores de AWS Lambda .

Tipo: RuntimeManagementConfig

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la RuntimeManagementConfig propiedad de un AWS::Lambda::Function recurso.

SnapStart

Cree una instantánea de cualquier versión nueva de la función de Lambda. Una instantánea es un estado en caché de la función inicializada, incluidas todas sus dependencias. La función se inicializa solo una vez y el estado en caché se reutiliza para todas las invocaciones futuras, lo que mejora el rendimiento de la aplicación al reducir el número de veces que se debe inicializar la función. Para obtener más información, consulte Mejorar el rendimiento de las empresas emergentes con Lambda SnapStart en la Guía AWS Lambda para desarrolladores.

Tipo: SnapStart

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la SnapStart propiedad de un AWS::Lambda::Function recurso.

SourceKmsKeyArn

Representa una KMS clave ARN que se utiliza para cifrar el código de ZIP función del cliente.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la SourceKmsKeyArn propiedad de un tipo de AWS::Lambda::Function Code datos.

Tags

Un mapa (cadena a cadena) que especifica las etiquetas agregadas a esta función. Para obtener más información sobre las claves y los valores válidos de las etiquetas, consulta los requisitos de clave y valor de las etiquetas en la Guía para desarrolladores de AWS Lambda .

Cuando se crea la pila, agrega AWS SAM automáticamente una lambda:createdBy:SAM etiqueta a esta función de Lambda y a las funciones predeterminadas que se generan para esta función.

Tipo: mapa

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es similar a la Tags propiedad de un AWS::Lambda::Function recurso. La Tags propiedad en se AWS SAM compone de pares clave-valor (mientras que en AWS CloudFormation esta propiedad se compone de una lista de Tag objetos). Además, agrega AWS SAM automáticamente una lambda:createdBy:SAM etiqueta a esta función Lambda y a las funciones predeterminadas que se generan para esta función.

Timeout

El tiempo máximo en segundos durante el cual la función se puede poner en marcha.

Tipo: entero

Obligatorio: no

Predeterminado: 3

AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la Timeout propiedad de un AWS::Lambda::Function recurso.

Tracing

La cadena que especifica el modo de rastreo de X-Ray de la función.

  • Active: activa el rastreo de X-Ray para la función.

  • Disabled: desactiva X-Ray para la función.

  • PassThrough: activa el rastreo de X-Ray para la función. La decisión de muestreo se delega en los servicios intermedios.

Si se especifica como Active o PassThrough y la propiedad Role no está establecida, AWS SAM agrega la política de arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess al rol de ejecución de Lambda que crea para usted.

Para obtener más información acerca de X-Ray, consulte Uso AWS Lambda con AWS X-Ray en la Guía para AWS Lambda desarrolladores.

Valores válidos: [Active|Disabled|PassThrough]

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es similar a la TracingConfig propiedad de un AWS::Lambda::Function recurso.

VersionDescription

Especifica el campo Description que se agrega al recurso de la nueva versión de Lambda.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la Description propiedad de un AWS::Lambda::Version recurso.

VpcConfig

La configuración que permite a esta función acceder a los recursos privados de su nube privada virtual (VPC).

Tipo: VpcConfig

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la VpcConfig propiedad de un AWS::Lambda::Function recurso.

valores devueltos

Ref.

Cuando se proporciona el ID lógico de este recurso a la función intrínseca Ref, 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 .

Ventilador:: GetAtt

Fn::GetAtt devuelve un valor para un atributo especificado de este tipo. A continuación se indican los atributos disponibles y los valores devueltos de muestra.

Para obtener más información acerca de cómo usar Fn::GetAtt, consulta Fn::GetAtt en la Guía del usuario de AWS CloudFormation .

Arn

La ARN de la función Lambda subyacente.

Ejemplos

Función sencilla

El siguiente es un ejemplo básico de un recurso AWS::Serverless::Function de tipo de paquete Zip (predeterminado) y código de función en un bucket de Amazon S3.

YAML

Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name

Ejemplo de propiedades de funciones

A continuación se muestra un ejemplo de un AWS::Serverless::Function de un tipo de paquete Zip (predeterminado) que utiliza InlineCode, Layers, Tracing, Policies, Amazon EFS y un origen de eventos Api.

YAML

Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::amzn-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get

ImageConfigejemplo

A continuación, se muestra un ejemplo de una ImageConfig para una función de Lambda de tipo paquete Image.

YAML

HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri: account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-name ImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"

RuntimeManagementConfig ejemplos

Una función de Lambda configurada para actualizar su tiempo de ejecución de ejecución de acuerdo con el comportamiento actual:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto

Una función de Lambda configurada para actualizar su entorno de tiempo de ejecución cuando se actualiza la función:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate

Una función de Lambda configurada para actualizar su entorno de tiempo de ejecución de forma manual:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual

SnapStartejemplos

Ejemplo de una función Lambda SnapStart activada para futuras versiones:

TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions