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 los tiempos de ejecución personalizados AWS SAM 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 AWS CloudFormation Recursos generados para AWS SAM.
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:ListAssumeRolePolicyDocument:JSONAutoPublishAlias:StringAutoPublishAliasAllProperties:BooleanAutoPublishCodeSha256:StringCodeSigningConfigArn:StringCodeUri:String | FunctionCodeDeadLetterQueue:Map | DeadLetterQueueDeploymentPreference:DeploymentPreferenceDescription:StringEnvironment:EnvironmentEphemeralStorage:EphemeralStorageEventInvokeConfig:EventInvokeConfigurationEvents:EventSourceFileSystemConfigs:ListFunctionName:StringFunctionUrlConfig:FunctionUrlConfigHandler:StringImageConfig:ImageConfigImageUri:StringInlineCode:StringKmsKeyArn:StringLayers:ListLoggingConfig:LoggingConfigMemorySize:IntegerPackageType:StringPermissionsBoundary:StringPolicies:String | List | MapPropagateTags:BooleanProvisionedConcurrencyConfig:ProvisionedConcurrencyConfigRecursiveLoop:StringReservedConcurrentExecutions:IntegerRole:StringRolePath:StringRuntime:StringRuntimeManagementConfig:RuntimeManagementConfigSnapStart:SnapStartSourceKMSKeyArn:StringTags:MapTimeout:IntegerTracing:StringVersionDescription:StringVpcConfig: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_64oarm64.Tipo: lista
Obligatorio: no
Valor predeterminado:
x86_64AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
Architecturespropiedad de unAWS::Lambda::Functionrecurso. -
AssumeRolePolicyDocument -
Añade un AssumeRolePolicyDocument formulario al valor predeterminado creado
Rolepara 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
AssumeRolePolicyDocumentpropiedad de unAWS::IAM::Rolerecurso. AWS SAM añade esta propiedad al rol de IAM 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 tiene efecto. -
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 Implementación gradual de aplicaciones sin servidor con AWS SAM.
AWS SAM genera AWS::Lambda::Versiony proporciona AWS::Lambda::Aliasrecursos cuando se establece esta propiedad. Para obtener información acerca de esta situación, consulta AutoPublishAlias se especifica la propiedad. Para obtener información general sobre AWS CloudFormation los recursos generados, consulteAWS CloudFormation Recursos generados para AWS SAM.
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,ImageUrioInlineCode.
La propiedad requiere que
AutoPublishAliasse defina.Si también se especifica
AutoPublishCodeSha256, su comportamiento tiene prioridad sobreAutoPublishAliasAllProperties: true.Tipo: Booleano
Obligatorio: no
Valor predeterminado:
falseAWS 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 valor
CodeUripara determinar si es necesario publicar una nueva versión de Lambda. Esta propiedad se suele utilizar para resolver el siguiente problema de implementación. Un paquete de implementación almacenado en una ubicación de Amazon S3 se sustituye por un nuevo paquete de implementación que contiene el código de función de Lambda actualizado, pero la propiedadCodeUripermanece sin alterar (a diferencia de cuando el nuevo paquete de implementación se carga en una nueva ubicación de Amazon S3 y se cambiaCodeUria la nueva ubicación).Este problema se debe a una AWS SAM plantilla que tiene las siguientes características:
El objeto
DeploymentPreferenceestá configurado para despliegues graduales (como se describe en Implementación gradual de aplicaciones sin servidor con AWS SAM)La propiedad
AutoPublishAliasestá establecida y no cambia entre desplieguesLa propiedad
CodeUriestá establecida y no cambia entre despliegues.
En este escenario, la actualización de
AutoPublishCodeSha256da 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 propiedadVersionde 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 del recurso AWS::Lambda::CodeSigningConfig, 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
CodeSigningConfigArnpropiedad de unAWS::Lambda::Functionrecurso. -
CodeUri -
Código de la función. Los valores aceptados son:
-
El URI de Amazon S3 de la función. Por ejemplo,
s3://bucket-123456789/sam-app/1234567890abcdefg. -
La ruta local a la función. Por ejemplo,
hello_world/. -
Un objeto FunctionCode.
nota
Si proporcionas el URI o el objeto FunctionCode de Amazon S3 de una función, debe hacer referencia a un paquete de implementación de Lambda válido.
Si proporcionas una ruta de archivo local, usa AWS SAM CLIpara cargar el archivo local en el momento de la implementación. Para obtener más información, consulte Cómo AWS SAM carga archivos locales en el momento de la implementesción.
Si utiliza funciones intrínsecas en la
CodeUripropiedad, no AWS SAM podrá analizar correctamente los valores. Considere usar la transformación AWS::Language de extensiones en su lugar.Tipo: [ Cadena | FunctionCode ]
Obligatorio: condicional. Cuando
PackageTypese establece enZip, se requiereCodeUrioInlineCode.AWS CloudFormation compatibilidad: esta propiedad es similar a la
Codepropiedad de unAWS::Lambda::Functionrecurso. Las propiedades anidadas de Amazon S3 tienen un nombre diferente. -
-
DeadLetterQueue -
Configura un tema de Amazon Simple Notification Service (Amazon SNS) o una cola de Amazon Simple Queue Service (Amazon SQS) 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 el origen de eventos de la función de Lambda es una cola de Amazon SQS, configure una cola de mensajes fallidos para la cola de origen, no para la función de 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
DeadLetterConfigpropiedad de unAWS::Lambda::Functionrecurso. 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
DeploymentPreferenceobjeto, AWS SAM crea un objeto AWS::CodeDeploy::ApplicationllamadoServerlessDeploymentApplication(uno por pila), un AWS::CodeDeploy::DeploymentGroupllamadoy un AWS::IAM::Rolellamado<function-logical-id>DeploymentGroupCodeDeployServiceRole.Tipo: DeploymentPreference
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.
Consulte también: Para obtener más información acerca de esta propiedad, consulta Implementación gradual de aplicaciones sin servidor con AWS SAM.
-
Description -
Una descripción de la función.
Tipo: cadena
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
Descriptionpropiedad de unAWS::Lambda::Functionrecurso. -
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
Environmentpropiedad de unAWS::Lambda::Functionrecurso. -
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
EphemeralStoragepropiedad de unAWS::Lambda::Functionrecurso. -
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 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 (Amazon EFS).
Si la plantilla contiene un recurso AWS::EFS::MountTarget, también debe especificar un atributo de recurso
DependsOnpara asegurarse de que el destino de montaje se crea o actualiza antes de la función.Tipo: lista
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la
FileSystemConfigspropiedad de unAWS::Lambda::Functionrecurso. -
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
FunctionNamepropiedad de unAWS::Lambda::Functionrecurso. -
FunctionUrlConfig -
El objeto que describe una URL de función. Una URL de función es un punto de conexión HTTPS que puede utilizar para invocar la función.
Para obtener más información, consulte 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
PackageTypeestá establecida enZip.Tipo: cadena
Obligatorio: condicional
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
Handlerpropiedad de unAWS::Lambda::Functionrecurso. -
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
ImageConfigpropiedad de unAWS::Lambda::Functionrecurso. -
ImageUri -
El URI del repositorio Amazon Elastic Container Registry (Amazon ECR) para la imagen del contenedor de la función de Lambda. Esta propiedad solo se aplica si la propiedad
PackageTypeestá 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
PackageTypepropiedad está establecida enImage, entoncesImageUries obligatoria o bien debe crear la aplicación conMetadatalas entradas necesarias en el archivo AWS SAM de plantilla. Para obtener más información, consulte Compilación predeterminada con AWS SAM.La creación de la aplicación con las entradas
Metadatanecesarias tiene prioridad sobreImageUri, por lo que si especifica ambas,ImageUrise ignorará.Tipo: cadena
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la
ImageUripropiedad del tipo deAWS::Lambda::FunctionCodedatos. -
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
PackageTypeestá establecida enZip; de lo contrario, se ignora.nota
Si la propiedad
PackageTypeestá establecida enZip(por defecto), se requiereCodeUrioInlineCode.Tipo: cadena
Obligatorio: condicional
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
ZipFilepropiedad del tipo deAWS::Lambda::FunctionCodedatos. -
KmsKeyArn -
El ARN de una clave 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
KmsKeyArnpropiedad de un recurso.AWS::Lambda::Function -
Layers -
La lista de los
LayerVersionARNs 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. La versión es un ARN completo que incluye la versión o una referencia a un LayerVersion recurso. Por ejemplo, una referencia a aLayerVersionserá!Ref MyLayermientras que será un ARN completo, incluida la versión.arn:aws:lambda:region:account-id:layer:layer-name:versionTipo: lista
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
Layerspropiedad de unAWS::Lambda::Functionrecurso. -
LoggingConfig -
Los ajustes de configuración de Amazon CloudWatch Logs de la función.
Tipo: LoggingConfig
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la
LoggingConfigpropiedad de unAWS::Lambda::Functionrecurso. -
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
MemorySizepropiedad de unAWS::Lambda::Functionrecurso. -
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 aplicaCodeUrioInlineCodey se ignoraImageUri.2. Si esta propiedad está establecida en
Image, solo se aplicaImageUriy se ignoranCodeUriyInlineCode. El repositorio ECR de Amazon necesario para almacenar la imagen del contenedor de la función se puede crear automáticamente mediante. AWS SAMCLI Para obtener más información, consulta sam deploy.Valores válidos:
ZipoImageTipo: cadena
Obligatorio: no
Valor predeterminado:
ZipAWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
PackageTypepropiedad de unAWS::Lambda::Functionrecurso. -
PermissionsBoundary -
El ARN de un límite 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 pasa directamente a la
PermissionsBoundarypropiedad de unAWS::IAM::Rolerecurso. -
Policies -
Políticas de permisos para esta función. Las políticas se añadirán a la función de ejecución predeterminada de la función AWS Identity and Access Management (IAM).
Esta propiedad acepta un valor único o una lista de valores. Entre los valores permitidos se incluyen:
-
La ARN de una política administrada por AWS o una política administrada por el cliente.
-
El nombre de una política AWS gestionada de la siguiente lista.
-
Una política de IAM en línea con formato 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
Policiespropiedad de unAWS::IAM::Rolerecurso. -
Indique si quiere pasar o no las etiquetas de la propiedad
Tagsa los recursos generados AWS::Serverless::Function. EspecificaTruepara propagar las etiquetas en los recursos generados.Tipo: Booleano
Obligatorio: no
Valor predeterminado:
FalseAWS 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
ProvisionedConcurrencyConfigpuede 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
ProvisionedConcurrencyConfigpropiedad de unAWS::Lambda::Aliasrecurso. -
RecursiveLoop -
El estado de la configuración de detección de bucles recursivos de su función.
Cuando este valor se establece en
Allowy Lambda detecta que la función se está invocando como parte de un bucle recursivo, no realiza ninguna acción.Cuando este valor se establece en
Terminatey Lambda detecta que la función se está invocando 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
RecursiveLooppropiedad delAWS::Lambda::Functionrecurso. -
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
ReservedConcurrentExecutionspropiedad de unAWS::Lambda::Functionrecurso. -
Role -
El ARN de un rol de IAM que se utilizará como rol de ejecución de esta función.
Tipo: cadena
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad es similar a la
Rolepropiedad de unAWS::Lambda::Functionrecurso. 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 ejecución de IAM 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
Pathpropiedad de unAWS::IAM::Rolerecurso. -
Runtime -
El identificador del tiempo de ejecución de la función. Esta propiedad solo es necesaria si la propiedad
PackageTypeestá establecida enZip.nota
Si especifica el
providedidentificador de esta propiedad, puede usar el atributoMetadataresource 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
Runtimepropiedad de unAWS::Lambda::Functionrecurso. -
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
RuntimeManagementConfigpropiedad de unAWS::Lambda::Functionrecurso. -
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 transfiere directamente a la
SnapStartpropiedad de unAWS::Lambda::Functionrecurso. -
SourceKmsKeyArn -
Representa un ARN de clave KMS que se utiliza para cifrar el código de función ZIP del cliente.
Tipo: cadena
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se transfiere directamente a la
SourceKmsKeyArnpropiedad de un tipo deAWS::Lambda::FunctionCodedatos. -
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:SAMetiqueta 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
Tagspropiedad de unAWS::Lambda::Functionrecurso. LaTagspropiedad en se AWS SAM compone de pares clave-valor (mientras que en AWS CloudFormation esta propiedad se compone de una lista deTagobjetos). Además, agrega AWS SAM automáticamente unalambda:createdBy:SAMetiqueta 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
Timeoutpropiedad de unAWS::Lambda::Functionrecurso. -
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
ActiveoPassThroughy la propiedadRoleno está establecida, AWS SAM agrega la política dearn:aws:iam::aws:policy/AWSXrayWriteOnlyAccessal rol de ejecución de Lambda que crea para usted.Para obtener más información acerca de X-Ray, consulte AWS Lambda Utilización 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
TracingConfigpropiedad de unAWS::Lambda::Functionrecurso. -
-
VersionDescription -
Especifica el campo
Descriptionque 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
Descriptionpropiedad de unAWS::Lambda::Versionrecurso. -
VpcConfig -
La configuración que permite a esta función acceder a los recursos privados dentro de su nube privada virtual (VPC).
Tipo: VpcConfig
Obligatorio: no
AWS CloudFormation compatibilidad: esta propiedad se pasa directamente a la
VpcConfigpropiedad de unAWS::Lambda::Functionrecurso.
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-
El ARN de la función de 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:::sam-s3-demo-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get
ImageConfigEjemplo de
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-nameImageConfig: 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
Ejemplos de SnapStart
Ejemplo de una función Lambda SnapStart activada para futuras versiones:
TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions