

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
<a name="sam-resource-function"></a>

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](#sam-resource-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](building-custom-runtimes.md).

**nota**  
Al realizar la implementación en AWS CloudFormation, AWS SAM transforma AWS SAM los recursos en CloudFormation recursos. Para obtener más información, consulte [CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).

## Sintaxis
<a name="sam-resource-function-syntax"></a>

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

### YAML
<a name="sam-resource-function-syntax.yaml"></a>

```
Type: AWS::Serverless::Function
Properties:
  [Architectures](#sam-function-architectures): {{List}}
  [AssumeRolePolicyDocument](#sam-function-assumerolepolicydocument): {{JSON}}
  [AutoPublishAlias](#sam-function-autopublishalias): {{String}}
  AutoPublishAliasAllProperties: {{Boolean}}
  [AutoPublishCodeSha256](#sam-function-autopublishcodesha256): {{String}}
  [CapacityProviderConfig](#sam-function-capacityproviderconfig): {{CapacityProviderConfig}}
  [CodeSigningConfigArn](#sam-function-codesigningconfigarn): {{String}}
  [CodeUri](#sam-function-codeuri): {{String | FunctionCode}}
  [DeadLetterQueue](#sam-function-deadletterqueue): {{Map | DeadLetterQueue}}
  [DeploymentPreference](#sam-function-deploymentpreference): {{DeploymentPreference}}
  [Description](#sam-function-description): {{String}}
  [DurableConfig](#sam-function-durableconfig): {{DurableConfig}}
  [Environment](#sam-function-environment): {{[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)}}
  [EphemeralStorage](#sam-function-ephemeralstorage): {{[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)}}
  [EventInvokeConfig](#sam-function-eventinvokeconfig): {{EventInvokeConfiguration}}
  [Events](#sam-function-events): {{EventSource}}
  [FileSystemConfigs](#sam-function-filesystemconfigs): {{List}}
  [FunctionName](#sam-function-functionname): {{String}}
  [FunctionScalingConfig](#sam-function-functionscalingconfig): {{FunctionScalingConfig}}
  [FunctionUrlConfig](#sam-function-functionurlconfig): {{FunctionUrlConfig}}
  [Handler](#sam-function-handler): {{String}}
  [ImageConfig](#sam-function-imageconfig): {{[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)}}
  [ImageUri](#sam-function-imageuri): {{String}}
  [InlineCode](#sam-function-inlinecode): {{String}}
  [KmsKeyArn](#sam-function-kmskeyarn): {{String}}
  [Layers](#sam-function-layers): {{List}}
  LoggingConfig: {{[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)}}
  [MemorySize](#sam-function-memorysize): {{Integer}}
  [PackageType](#sam-function-packagetype): {{String}}
  [PermissionsBoundary](#sam-function-permissionsboundary): {{String}}
  [Policies](#sam-function-policies): {{String | List | Map}}
  [PublishToLatestPublished](#sam-function-publishtolatestpublished): {{Boolean}}
  PropagateTags: {{Boolean}}
  [ProvisionedConcurrencyConfig](#sam-function-provisionedconcurrencyconfig): {{[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)}}
  RecursiveLoop: {{String}}
  [ReservedConcurrentExecutions](#sam-function-reservedconcurrentexecutions): {{Integer}}
  [Role](#sam-function-role): {{String}}
  [RolePath](#sam-function-rolepath): {{String}}
  [Runtime](#sam-function-runtime): {{String}}
  RuntimeManagementConfig: {{[RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)}}
  SnapStart: {{[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)}}
  [SourceKMSKeyArn](#sam-function-sourcekmskeyarn): {{String}}
  [Tags](#sam-function-tags): {{Map}}
  [TenancyConfig](#sam-function-tenancyconfig): {{TenancyConfig}}
  [Timeout](#sam-function-timeout): {{Integer}}
  [Tracing](#sam-function-tracing): {{String}}
  [VersionDescription](#sam-function-versiondescription): {{String}}
  [VersionDeletionPolicy](#sam-function-versiondeletionpolicy): {{String}}
  [VpcConfig](#sam-function-vpcconfig): {{[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)}}
```

## Propiedades
<a name="sam-resource-function-properties"></a>

 `Architectures`   <a name="sam-function-architectures"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html) 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`  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-architectures)` propiedad de un `AWS::Lambda::Function` recurso.

 `AssumeRolePolicyDocument`   <a name="sam-function-assumerolepolicydocument"></a>
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  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[AssumeRolePolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument)` propiedad de un `AWS::IAM::Role` recurso. 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`   <a name="sam-function-autopublishalias"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html) 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](automating-updates-to-serverless-apps.md).  
AWS SAM genera [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)y proporciona [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html)recursos cuando se establece esta propiedad. Para obtener información acerca de esta situación, consulta [AutoPublishAlias se especifica la propiedad](sam-specification-generated-resources-function.md#sam-specification-generated-resources-function-autopublishalias). Para obtener información general sobre CloudFormation los recursos generados, consulte[CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AutoPublishAliasAllProperties`   <a name="sam-function-autopublishaliasallproperties"></a>
Especifica cuándo se crea una nueva [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html). 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` o`InlineCode`.
La propiedad requiere que `AutoPublishAlias` se defina.  
Si también se especifica `AutoPublishCodeSha256`, su comportamiento tiene prioridad sobre `AutoPublishAliasAllProperties: true`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado:* `false`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `AutoPublishCodeSha256`   <a name="sam-function-autopublishcodesha256"></a>
Cuando se usa, esta cadena funciona con el valor `CodeUri` para 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 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:  
+ El objeto `DeploymentPreference` está configurado para despliegues graduales (como se describe en [Implementación gradual de aplicaciones sin servidor con AWS SAM](automating-updates-to-serverless-apps.md))
+ La propiedad `AutoPublishAlias` está establecida y no cambia entre despliegues
+ La propiedad `CodeUri` 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 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  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `CapacityProviderConfig`   <a name="sam-function-capacityproviderconfig"></a>
Configura el proveedor de capacidad al que se adjuntarán las versiones publicadas de la función. Esto permite que la función se ejecute en instancias EC2 propiedad del cliente administradas por Lambda Managed Instances.  
*Tipo:* [CapacityProviderConfig](sam-property-function-capacityproviderconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: SAM aplana la propiedad transferida a la propiedad de un `AWS::Lambda::Function` recurso y `[CapacityProviderConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-capacityproviderconfig)` reconstruye la estructura anidada.

 `CodeSigningConfigArn`   <a name="sam-function-codesigningconfigarn"></a>
El ARN del recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html), 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](authoring-codesigning.md).  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la propiedad de un recurso. `[CodeSigningConfigArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn)` `AWS::Lambda::Function`

 `CodeUri`   <a name="sam-function-codeuri"></a>
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](sam-property-function-functioncode.md).
Si proporcionas el URI o el objeto [FunctionCode](sam-property-function-functioncode.md) de Amazon S3 de una función, debe hacer referencia a un [paquete de implementación de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) 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 se AWS SAM cargan los archivos locales en el momento de la implementación](deploy-upload-local-files.md).  
Si utiliza funciones intrínsecas en la `CodeUri` propiedad, no AWS SAM podrá analizar correctamente los valores. Considere usar la [transformación AWS::Language de extensiones](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-languageextensions.html) en su lugar.
*Tipo*: [ Cadena \| [FunctionCode](sam-property-function-functioncode.md) ]  
*Obligatorio*: condicional. Cuando `PackageType` se establece en `Zip`, se requiere `CodeUri` o `InlineCode`.  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[ Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code)` propiedad de un `AWS::Lambda::Function` recurso. Las propiedades anidadas de Amazon S3 tienen un nombre diferente.

 `DeadLetterQueue`   <a name="sam-function-deadletterqueue"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.  
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](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) de la función, no para las colas de origen de eventos.
*Tipo*: Mapa \| [DeadLetterQueue](sam-property-function-deadletterqueue.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html)` propiedad de un `AWS::Lambda::Function` recurso. En CloudFormation el tipo se deriva de`TargetArn`, mientras que en se AWS SAM debe pasar el tipo junto con el`TargetArn`.

 `DeploymentPreference`   <a name="sam-function-deploymentpreference"></a>
La configuración para habilitar las implementasciones graduales de Lambda.  
Si se especifica un `DeploymentPreference` objeto, AWS SAM crea un objeto [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html)llamado `ServerlessDeploymentApplication` (uno por pila), un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html)llamado `{{<function-logical-id>}}DeploymentGroup` y un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html)llamado`CodeDeployServiceRole`.  
*Tipo:* [DeploymentPreference](sam-property-function-deploymentpreference.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un 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](automating-updates-to-serverless-apps.md).

 `Description`   <a name="sam-function-description"></a>
Una descripción de la función.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-description)` propiedad de un `AWS::Lambda::Function` recurso.

 `DurableConfig`   <a name="sam-function-durableconfig"></a>
Configuración para funciones duraderas. Permite una ejecución continua con funciones automáticas de puntos de control y reproducción.  
*Tipo:* [DurableConfig](sam-property-function-durableconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `Environment`   <a name="sam-function-environment"></a>
La configuración de registro para el entorno de tiempo de ejecución.  
*Tipo*: [entorno](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)` propiedad de un `AWS::Lambda::Function` recurso.

 `EphemeralStorage`   <a name="sam-function-ephemeralstorage"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)` propiedad de un `AWS::Lambda::Function` recurso.

 `EventInvokeConfig`   <a name="sam-function-eventinvokeconfig"></a>
El objeto que describe la configuración de invocación de eventos en una función de Lambda.  
*Tipo:* [EventInvokeConfiguration](sam-property-function-eventinvokeconfiguration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Events`   <a name="sam-function-events"></a>
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](sam-property-function-eventsource.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `FileSystemConfigs`   <a name="sam-function-filesystemconfigs"></a>
Lista de [FileSystemConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html)objetos que especifican la configuración de conexión de un sistema de archivos Amazon Elastic File System (Amazon EFS) o Amazon S3 Files. Puede conectar un punto de acceso Amazon EFS o un punto de acceso S3 Files, pero no ambos.  
Cada `FileSystemConfig` objeto contiene un `Arn` (el ARN del punto de acceso) y una `LocalMountPath` (la ruta en la que se monta el sistema de archivos en la función). En el caso de Amazon EFS, el ARN es un ARN de punto de acceso de Amazon EFS. Para los archivos S3, el ARN es un ARN. `AWS::S3Files::AccessPoint`  
Si la plantilla contiene un recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html), también debe especificar un atributo de recurso `DependsOn` para asegurarse de que el destino de montaje se crea o actualiza antes de la función. Del mismo modo, si la plantilla contiene un `AWS::S3Files::MountTarget` recurso, debe especificar un `DependsOn` atributo para el destino de montaje de S3 Files.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[FileSystemConfigs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs)` propiedad de un `AWS::Lambda::Function` recurso.

 `FunctionName`   <a name="sam-function-functionname"></a>
Un nombre para la función. Si no especificas un nombre, se genera un nombre único.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname)` propiedad de un `AWS::Lambda::Function` recurso.

 `FunctionScalingConfig`   <a name="sam-function-functionscalingconfig"></a>
Configura el comportamiento de escalado de las funciones Lambda que se ejecutan en los proveedores de capacidad. Define el número mínimo y máximo de entornos de ejecución.  
*Tipo:* [FunctionScalingConfig](sam-property-function-functionscalingconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig)` propiedad de un `AWS::Lambda::Function` recurso.

 `FunctionUrlConfig`   <a name="sam-function-functionurlconfig"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) en la *Guía para AWS Lambda desarrolladores*.  
*Tipo:* [FunctionUrlConfig](sam-property-function-functionurlconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Handler`   <a name="sam-function-handler"></a>
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  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Handler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler)` propiedad de un `AWS::Lambda::Function` recurso.

 `ImageConfig`   <a name="sam-function-imageconfig"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)` propiedad de un `AWS::Lambda::Function` recurso.

 `ImageUri`   <a name="sam-function-imageuri"></a>
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 `PackageType` está establecida en `Image`; de lo contrario, se ignora. Para obtener más información, consulta [Usar imágenes de contenedor con Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) en la *Guía para desarrolladores de AWS Lambda *.  
Si la `PackageType` propiedad está establecida en`Image`, `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](serverless-sam-cli-using-build.md).
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  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ImageUri](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri)` propiedad del tipo de `AWS::Lambda::Function` `Code` datos.

 `InlineCode`   <a name="sam-function-inlinecode"></a>
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.  
Si la propiedad `PackageType` está establecida en `Zip` (por defecto), se requiere `CodeUri` o `InlineCode`.
*Tipo*: cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ZipFile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile)` propiedad del tipo de `AWS::Lambda::Function` `Code` datos.

 `KmsKeyArn`   <a name="sam-function-kmskeyarn"></a>
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  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn)` propiedad de un recurso. `AWS::Lambda::Function`

 `Layers`   <a name="sam-function-layers"></a>
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. La versión es un ARN completo que incluye la versión o una referencia a un LayerVersion recurso. Por ejemplo, una referencia a `LayerVersion` será `!Ref MyLayer`, mientras que un ARN completo, con la versión incluida, será `arn:aws:lambda:{{region}}:{{account-id}}:layer:{{layer-name}}:{{version}}`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Layers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers)` propiedad de un `AWS::Lambda::Function` recurso.

 `LoggingConfig`   <a name="sam-function-loggingconfig"></a>
Los ajustes de configuración de Amazon CloudWatch Logs de la función.  
*Tipo:* [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig)propiedad de un `AWS::Lambda::Function` recurso.

 `MemorySize`   <a name="sam-function-memorysize"></a>
El tamaño de la memoria en MB asignado por cada invocación de la función.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MemorySize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize)` propiedad de un `AWS::Lambda::Function` recurso.

 `PackageType`   <a name="sam-function-packagetype"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html) 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 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](sam-cli-command-reference-sam-deploy.md).  
*Valores válidos*: `Zip` o `Image`  
*Tipo*: cadena  
*Obligatorio*: no  
*Valor predeterminado*: `Zip`  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[PackageType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-packagetype)` propiedad de un `AWS::Lambda::Function` recurso.

 `PermissionsBoundary`   <a name="sam-function-permissionsboundary"></a>
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  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` propiedad de un `AWS::IAM::Role` recurso.

 `Policies`   <a name="sam-function-policies"></a>
Políticas de permisos para esta función. Las políticas se añadirán al rol de ejecución predeterminado 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:  
+ [Plantillas de política de AWS SAM](serverless-policy-templates.md).
+ La ARN de una [política administrada por AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) o una [política administrada por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies).
+ [El nombre de una política AWS gestionada de la siguiente lista.](https://github.com/aws/serverless-application-model/blob/develop/samtranslator/internal/data/aws_managed_policies.json)
+ Una [política de IAM en línea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) con formato en YAML como un mapa.
Si especifica la propiedad `Role`, pasa por alto esta propiedad.
*Tipo*: Cadena \| Lista \| Mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Policies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-policies)` propiedad de un `AWS::IAM::Role` recurso.

 `PublishToLatestPublished`   <a name="sam-function-publishtolatestpublished"></a>
Especifica si se debe publicar la última versión de la función cuando se actualice la función.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[PublishToLatestPublished](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-publishtolatestpublished)` propiedad de un `AWS::Lambda::Function` recurso.

`PropagateTags`  <a name="sam-function-propagatetags"></a>
Indique si quiere pasar o no las etiquetas de la propiedad `Tags` a los recursos generados [AWS::Serverless::Function](sam-specification-generated-resources-function.md). Especifica `True` para propagar las etiquetas en los recursos generados.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: `False`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ProvisionedConcurrencyConfig`   <a name="sam-function-provisionedconcurrencyconfig"></a>
La configuración de simultaneidad aprovisionada del alias de una función.  
`ProvisionedConcurrencyConfig` puede especificarse solamente si se estableció `AutoPublishAlias`. De lo contrario, se producirá un error.
*Tipo:* [ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)` propiedad de un `AWS::Lambda::Alias` recurso.

 `RecursiveLoop`   <a name="sam-function-recursiveloop"></a>
El estado de la configuración de detección de bucles recursivos de su función.  
Cuando este valor se establece en `Allow` y 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 `Terminate` y 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  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RecursiveLoop](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-recursiveloop)` propiedad del `AWS::Lambda::Function` recurso.

 `ReservedConcurrentExecutions`   <a name="sam-function-reservedconcurrentexecutions"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/scaling.html) en la *AWS Lambda Guía para desarrolladores de *.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ReservedConcurrentExecutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions)` propiedad de un `AWS::Lambda::Function` recurso.

 `Role`   <a name="sam-function-role"></a>
El ARN de un rol de IAM que se utilizará como rol de ejecución de esta función.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-role)` propiedad de un `AWS::Lambda::Function` recurso. Esto es obligatorio en 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`   <a name="sam-function-rolepath"></a>
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  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Path](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path)` propiedad de un `AWS::IAM::Role` recurso.

 `Runtime`   <a name="sam-function-runtime"></a>
El identificador del [tiempo de ejecución](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html) de la función. Esta propiedad solo es necesaria si la propiedad `PackageType` está establecida en `Zip`.  
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](building-custom-runtimes.md).
*Tipo*: cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime)` propiedad de un `AWS::Lambda::Function` recurso.

 `RuntimeManagementConfig`   <a name="sam-function-runtimemanagementconfig"></a>
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](https://docs.aws.amazon.com//lambda/latest/dg/runtimes-update.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)` propiedad de un `AWS::Lambda::Function` recurso.

 `SnapStart`   <a name="sam-function-snapstart"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) en la Guía *AWS Lambda para desarrolladores*.  
*Tipo:* [SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)` propiedad de un `AWS::Lambda::Function` recurso.

 `SourceKMSKeyArn`   <a name="sam-function-sourcekmskeyarn"></a>
Representa un ARN de clave de KMS que se utiliza para cifrar el código de función ZIP del cliente.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SourceKMSKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-sourcekmskeyarn)` propiedad de un tipo de `AWS::Lambda::Function` `Code` datos.

 `Tags`   <a name="sam-function-tags"></a>
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](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html#configuration-tags-restrictions) 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  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags)` propiedad de un `AWS::Lambda::Function` recurso. La `Tags` propiedad en se AWS SAM compone de pares clave-valor (mientras que en 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.

 `TenancyConfig`   <a name="sam-function-tenancyconfig"></a>
Configuración para el modo de aislamiento de inquilinos de Lambda. Garantiza que los entornos de ejecución nunca se compartan entre distintos arrendatarios IDs, lo que proporciona un aislamiento a nivel de cómputo para las aplicaciones con varios arrendatarios.  
*Tipo:* [TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tenancyconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tenancyconfig)` propiedad de un recurso. `AWS::Lambda::Function`

 `Timeout`   <a name="sam-function-timeout"></a>
El tiempo máximo en segundos durante el cual la función se puede poner en marcha.  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado:* 3  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout)` propiedad de un `AWS::Lambda::Function` recurso.

 `Tracing`   <a name="sam-function-tracing"></a>
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 [AWS Lambda Utilización con AWS X-Ray](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) en la *Guía para AWS Lambda desarrolladores*.  
*Valores válidos*: [`Active`\|`Disabled`\|`PassThrough`]  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[TracingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig)` propiedad de un `AWS::Lambda::Function` recurso.

 `VersionDescription`   <a name="sam-function-versiondescription"></a>
Especifica el campo `Description` que se agrega al recurso de la nueva versión de Lambda.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-description)` propiedad de un `AWS::Lambda::Version` recurso.

 `VersionDeletionPolicy`   <a name="sam-function-versiondeletionpolicy"></a>
Especifica la política de eliminación del recurso de la versión Lambda que se crea cuando `AutoPublishAlias` se establece. Esto controla si el recurso de versión se conserva o se elimina al eliminar la pila.  
*Valores válidos*: `Delete`, `Retain` o `Snapshot`  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente. Establece el `DeletionPolicy` atributo del `AWS::Lambda::Version` recurso generado.

 `VpcConfig`   <a name="sam-function-vpcconfig"></a>
La configuración que permite a esta función acceder a los recursos privados dentro de su nube privada virtual (VPC).  
*Tipo:* [VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)` propiedad de un `AWS::Lambda::Function` recurso.

## valores devueltos
<a name="sam-resource-function-return-values"></a>

### Ref.
<a name="sam-resource-function-return-values-ref"></a>

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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) en la *Guía del usuario de AWS CloudFormation *. 

### Ventilador: GetAtt
<a name="sam-resource-function-return-values-fn--getatt"></a>

`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 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) en la *Guía del usuario de AWS CloudFormation *. 

`Arn`  <a name="Arn-fn::getatt"></a>
El ARN de la función de Lambda subyacente.

## Ejemplos
<a name="sam-resource-function-examples"></a>

### Función sencilla
<a name="sam-resource-function-examples-simple-function"></a>

El siguiente es un ejemplo básico de un recurso [AWS::Serverless::Function](#sam-resource-function) de tipo de paquete `Zip` (predeterminado) y código de función en un bucket de Amazon S3.

#### YAML
<a name="sam-resource-function-examples-simple-function--yaml"></a>

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

### Ejemplo de propiedades de funciones
<a name="sam-resource-function-examples-function-properties-example"></a>

El siguiente es un ejemplo de un tipo [AWS::Serverless::Function](#sam-resource-function) de paquete `Zip` (predeterminado) que usa`InlineCode`,,, `Layers` `Tracing``Policies`, un sistema de `Amazon EFS` archivos y una fuente de `Api` eventos.

#### YAML
<a name="sam-resource-function-examples-function-properties-example--yaml"></a>

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

### ImageConfig ejemplo
<a name="sam-resource-function-examples-imageconfig-example"></a>

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

#### YAML
<a name="sam-resource-function-examples-imageconfig-example--yaml"></a>

```
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
<a name="sam-resource-function-examples-runtimemanagementconfig-examples"></a>

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

### SnapStart ejemplos
<a name="sam-resource-function-examples-snapstart-examples"></a>

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

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

### TenancyConfig ejemplos
<a name="sam-resource-function-examples-tenancyconfig-examples"></a>

Ejemplo de una función Lambda con el modo de aislamiento de inquilinos activado:

```
TestFunction
  Type: AWS::Serverless::Function
  Properties:
    ...
    TenancyConfig:
      TenantIsolationMode: PER_TENANT
```

### Ejemplo de sistema de archivos S3 Files
<a name="sam-resource-function-examples-s3files-example"></a>

El siguiente ejemplo crea una función Lambda que monta un sistema de archivos Amazon S3 Files. La plantilla crea un depósito de S3, un sistema de archivos de S3 Files respaldado por ese depósito, un destino de montaje en una subred de VPC y un punto de acceso. La función monta el punto de acceso en el depósito de `/mnt/s3files` S3 y puede leer y escribir archivos que se sincronizan con él.

**nota**  
Puede adjuntar un sistema de archivos Amazon EFS o un sistema de archivos S3 Files a una función Lambda, pero no ambos al mismo tiempo.

#### YAML
<a name="sam-resource-function-examples-s3files-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Lambda function with S3 Files file system

Resources:
  # VPC and networking
  MyVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true

  MySubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref MyVpc
      CidrBlock: 10.0.1.0/24
      AvailabilityZone: !Select [0, !GetAZs '']

  MySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Security group for Lambda and S3 Files
      VpcId: !Ref MyVpc
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 2049
          ToPort: 2049
          CidrIp: 10.0.0.0/16

  # S3 bucket for file storage
  MyS3Bucket:
    Type: AWS::S3::Bucket

  # IAM role for S3 Files to access the bucket
  S3FilesRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: elasticfilesystem.amazonaws.com
            Action: sts:AssumeRole
      Policies:
        - PolicyName: S3FilesBucketAccess
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - s3:GetObject
                  - s3:PutObject
                  - s3:DeleteObject
                  - s3:ListBucket
                Resource:
                  - !GetAtt MyS3Bucket.Arn
                  - !Sub '${MyS3Bucket.Arn}/*'

  # S3 Files resources
  MyS3FilesFileSystem:
    Type: AWS::S3Files::FileSystem
    Properties:
      Bucket: !GetAtt MyS3Bucket.Arn
      RoleArn: !GetAtt S3FilesRole.Arn

  MyS3FilesMountTarget:
    Type: AWS::S3Files::MountTarget
    Properties:
      FileSystemId: !Ref MyS3FilesFileSystem
      SubnetId: !Ref MySubnet
      SecurityGroups:
        - !Ref MySecurityGroup

  MyS3FilesAccessPoint:
    Type: AWS::S3Files::AccessPoint
    Properties:
      FileSystemId: !Ref MyS3FilesFileSystem
      PosixUser:
        Uid: '1000'
        Gid: '1000'
      RootDirectory:
        Path: /lambda
        CreationInfo:
          OwnerUid: '1000'
          OwnerGid: '1000'
          Permissions: '750'

  # Lambda function with S3 Files mount
  MyFunction:
    Type: AWS::Serverless::Function
    DependsOn: MyS3FilesMountTarget
    Properties:
      Handler: index.handler
      Runtime: python3.12
      Timeout: 120
      VpcConfig:
        SecurityGroupIds:
          - !Ref MySecurityGroup
        SubnetIds:
          - !Ref MySubnet
      FileSystemConfigs:
        - Arn: !GetAtt MyS3FilesAccessPoint.AccessPointArn
          LocalMountPath: /mnt/s3files
      Policies:
        - Version: '2012-10-17'
          Statement:
            - Effect: Allow
              Action:
                - s3files:ClientMount
                - s3files:ClientWrite
              Resource: !GetAtt MyS3FilesAccessPoint.AccessPointArn
      InlineCode: |
        import os

        def handler(event, context):
            # Write a file to the S3 Files mount
            with open('/mnt/s3files/hello.txt', 'w') as f:
                f.write('Hello from Lambda!')

            # List files at the mount path
            files = os.listdir('/mnt/s3files')
            return {'files': files}
```