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.
YAML
Type: AWS::Serverless::Function Properties: Architectures:
List
AssumeRolePolicyDocument:JSON
AutoPublishAlias:String
AutoPublishAliasAllProperties:Boolean
AutoPublishCodeSha256:String
CodeSigningConfigArn:String
CodeUri:String | FunctionCode
DeadLetterQueue:Map | DeadLetterQueue
DeploymentPreference:DeploymentPreference
Description:String
Environment:Environment
EphemeralStorage:EphemeralStorage
EventInvokeConfig:EventInvokeConfiguration
Events:EventSource
FileSystemConfigs:List
FunctionName:String
FunctionUrlConfig:FunctionUrlConfig
Handler:String
ImageConfig:ImageConfig
ImageUri:String
InlineCode:String
KmsKeyArn:String
Layers:List
LoggingConfig:LoggingConfig
MemorySize:Integer
PackageType:String
PermissionsBoundary:String
Policies:String | List | Map
PropagateTags:Boolean
ProvisionedConcurrencyConfig:ProvisionedConcurrencyConfig
RecursiveLoop:String
ReservedConcurrentExecutions:Integer
Role:String
RolePath:String
Runtime:String
RuntimeManagementConfig:RuntimeManagementConfig
SnapStart:SnapStart
SourceKMSKeyArn:String
Tags:Map
Timeout:Integer
Tracing:String
VersionDescription:String
VpcConfig:VpcConfig
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
oarm64
.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 unAWS::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 estrue
, se crea una nueva versión de Lambda cuando se modifica cualquier propiedad de la función de Lambda. Cuando esfalse
, se crea una nueva versión de Lambda solo cuando se modifica alguna de las siguientes propiedades:-
Environment
,MemorySize
, oSnapStart
. -
Cualquier cambio que dé lugar a una actualización de la propiedad
Code
, comoCodeDict
,ImageUri
oInlineCode
.
La propiedad requiere que
AutoPublishAlias
se defina.Si también se especifica
AutoPublishSha256
, su comportamiento tiene prioridad sobreAutoPublishAliasAllProperties: 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 propiedadCodeUri
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 cambiaCodeUri
a la nueva ubicación).Este problema se debe a una AWS SAM plantilla que tiene las siguientes características:
El
DeploymentPreference
objeto está configurado para despliegues graduales (como se describe enImplementar aplicaciones sin servidor de forma gradual AWS SAM)La
AutoPublishAlias
propiedad está establecida y no cambia entre desplieguesLa
CodeUri
propiedad está establecida y no cambia entre despliegues.
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 propiedadVersion
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 unAWS::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 enZip
, se requiereCodeUri
oInlineCode
.AWS CloudFormation compatibilidad: esta propiedad es similar a la
Code
propiedad de unAWS::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 unAWS::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::ApplicationllamadoServerlessDeploymentApplication
(uno por pila), un AWS::CodeDeploy::DeploymentGroupllamado
, y un AWS::IAM::Rolellamado<function-logical-id>
DeploymentGroupCodeDeployServiceRole
.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 unAWS::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 unAWS::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 unAWS::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 unAWS::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 unAWS::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 enZip
.Tipo: cadena
Obligatorio: condicional
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
Handler
propiedad de unAWS::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 unAWS::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 enImage
; 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
, entoncesImageUri
es obligatoria o bien debe crear la aplicación conMetadata
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 sobreImageUri
, 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 deAWS::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 enZip
; de lo contrario, se ignora.nota
Si la propiedad
PackageType
está establecida enZip
(por defecto), se requiereCodeUri
oInlineCode
.Tipo: cadena
Obligatorio: condicional
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
ZipFile
propiedad del tipo deAWS::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 unAWS::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
LoggingConfig
propiedad de unAWS::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 unAWS::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 aplicaCodeUri
oInlineCode
y se ignoraImageUri
.2. Si esta propiedad está establecida en
Image
, solo se aplicaImageUri
y se ignoranCodeUri
yInlineCode
. 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
oImage
Tipo: cadena
Obligatorio: no
Valor predeterminado:
Zip
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
PackageType
propiedad de unAWS::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 unAWS::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:
-
La ARN de una política AWS gestionada o una política gestionada por el cliente.
-
El nombre de una política AWS gestionada de la siguiente lista
. -
Una IAMpolítica en línea formateada en YAML como un mapa.
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 unAWS::IAM::Role
recurso. -
Indique si quiere pasar o no las etiquetas de la propiedad
Tags
a los recursos generados AWS::Serverless::Function. EspecificaTrue
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 unAWS::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 unAWS::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 delAWS::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 unAWS::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 unAWS::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 unAWS::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 enZip
.nota
Si especifica el
provided
identificador de esta propiedad, puede usar el atributoMetadata
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 unAWS::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 unAWS::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 unAWS::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 deAWS::Lambda::Function
Code
datos. -
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 unAWS::Lambda::Function
recurso. LaTags
propiedad en se AWS SAM compone de pares clave-valor (mientras que en AWS CloudFormation esta propiedad se compone de una lista deTag
objetos). Además, agrega AWS SAM automáticamente unalambda: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 unAWS::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
oPassThrough
y la propiedadRole
no está establecida, AWS SAM agrega la política dearn: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 unAWS::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 unAWS::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 unAWS::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