

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 SAM plantilla
<a name="sam-specification"></a>

Tras ejecutar el **sam init** comando y completar su flujo de trabajo posterior, AWS SAM crea el directorio del proyecto de la aplicación, que es su AWS SAM proyecto. Para definir la aplicación sin servidor, añada código a su AWS SAM proyecto. Si bien su AWS SAM proyecto consta de un conjunto de archivos y carpetas, el archivo con el que trabaja principalmente es su AWS SAM plantilla (denominada`template.yaml`). En esta plantilla, se escribe el código para expresar los recursos, las asignaciones de orígenes de eventos y otras propiedades que definen la aplicación sin servidor.

**nota**  
Un elemento clave de la AWS SAM plantilla es la especificación AWS SAM de la plantilla. Esta especificación proporciona una sintaxis abreviada que, en comparación con ella CloudFormation, permite utilizar menos líneas de código para definir los recursos, las asignaciones de fuentes de eventos, los permisos y otras propiedades de la aplicación sin servidor. APIs

En esta sección se proporcionan detalles sobre cómo utilizar las secciones de la AWS SAM plantilla para definir los tipos de recursos, las propiedades de los recursos, los tipos de datos, los atributos de los recursos, las funciones intrínsecas y las extensiones de API Gateway.

AWS SAM las plantillas son una extensión de CloudFormation las plantillas, con tipos de sintaxis únicos que utilizan una sintaxis abreviada con menos líneas de código que. CloudFormation Esto acelera el desarrollo al crear una aplicación sin servidor. Para obtener más información, consulta [AWS SAM recursos y propiedades](sam-specification-resources-and-properties.md). Para obtener la referencia completa de CloudFormation las plantillas, consulte la [Referencia CloudFormation de plantillas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html) en la Guía del *AWS CloudFormation usuario*.

Al desarrollar, a menudo te resultará beneficioso dividir el código de la aplicación en archivos separados para organizar y administrar mejor la aplicación. Un ejemplo básico de esto es usar un archivo independiente para el código de AWS Lambda la función en lugar de tener este código en la AWS SAM plantilla. Para ello, organice el código de la función Lambda en un subdirectorio de su proyecto y haga referencia a su ruta local dentro de la plantilla (). AWS Serverless Application Model AWS SAM

**Topics**
+ [AWS SAM anatomía de la plantilla](sam-specification-template-anatomy.md)
+ [AWS SAM recursos y propiedades](sam-specification-resources-and-properties.md)
+ [CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md)
+ [Atributos de recursos compatibles con AWS SAM](sam-specification-resource-attributes.md)
+ [Extensiones de API Gateway para AWS SAM](sam-specification-api-gateway-extensions.md)
+ [Funciones intrínsecas para AWS SAM](sam-specification-intrinsic-functions.md)

# AWS SAM anatomía de la plantilla
<a name="sam-specification-template-anatomy"></a>

Un archivo AWS SAM de plantilla sigue de cerca el formato de un archivo de CloudFormation plantilla, que se describe en [Anatomía de la plantilla](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) de la *Guía del AWS CloudFormation usuario*. Las principales diferencias entre los archivos AWS SAM de CloudFormation plantilla y los archivos de plantilla son las siguientes:
+ **Declaración de transformación.** La declaración `Transform: AWS::Serverless-2016-10-31` es obligatoria para los archivos de plantilla de AWS SAM . Esta declaración identifica un archivo CloudFormation de plantilla como un archivo AWS SAM de plantilla. Para obtener más información, consulta la [Transformación](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) en la *AWS CloudFormation Guía del usuario de *.
+ **Sección Globals.** La `Globals` sección es exclusiva de AWS SAM. Define las propiedades que son comunes a todas las funciones sin servidor y APIs. Todos los `AWS::Serverless::StateMachine` recursos `AWS::Serverless::Function``AWS::Serverless::Api`,`AWS::Serverless::CapacityProvider`, `AWS::Serverless::HttpApi``AWS::Serverless::SimpleTable`, y heredan las propiedades que se definen en la `Globals` sección. Para obtener más información, consulta [Sección global de la plantilla AWS SAM](sam-specification-template-anatomy-globals.md).
+ **Sección de recursos.** En AWS SAM las plantillas, la `Resources` sección puede contener una combinación de CloudFormation recursos y AWS SAM recursos. Para obtener más información sobre CloudFormation los recursos, consulte la [referencia sobre los tipos de AWS recursos y propiedades](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) en la *Guía del AWS CloudFormation usuario*. Para obtener más información sobre AWS SAM los recursos, consulte[AWS SAM recursos y propiedades](sam-specification-resources-and-properties.md).

Todas las demás secciones de un archivo de AWS SAM plantilla corresponden a la sección del archivo de CloudFormation plantilla del mismo nombre.

## YAML
<a name="template-anatomy-outline.yaml"></a>

El siguiente ejemplo muestra un fragmento de código de plantilla con formato YAML.

```
Transform: AWS::Serverless-2016-10-31

Globals:
  set of globals

Description:
  String

Metadata:
  template metadata

Parameters:
  set of parameters

Mappings:
  set of mappings

Conditions:
  set of conditions

Resources:
  set of resources

Outputs:
  set of outputs
```

## Secciones de la plantilla
<a name="template-anatomy-sections"></a>

AWS SAM las plantillas pueden incluir varias secciones principales. Solo se requieren las secciones `Transform` y `Resources`.

Puedes incluir las secciones de la plantilla en cualquier orden. Sin embargo, si usa extensiones de idioma, debe agregar `AWS::LanguageExtensions` *antes* de la transformación sin servidor (es decir, antes de `AWS::Serverless-2016-10-31`), como se muestra en el siguiente ejemplo:

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

Al crear la plantilla, puede ser útil utilizar el orden lógico de la siguiente lista. Esto se debe a que los valores de una sección pueden hacer referencia a valores de una sección anterior.

**[Transformar (obligatorio)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)**  
En el AWS SAM caso de las plantillas, debe incluir esta sección con un valor de`AWS::Serverless-2016-10-31`.  
Las transformaciones adicionales son opcionales. Para obtener más información, consulta la [Transformación](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) en la *AWS CloudFormation Guía del usuario de *.

**[Globals (opcional)](sam-specification-template-anatomy-globals.md)**  
Propiedades comunes a todas las funciones sin servidor y a APIs las tablas sencillas. Todos los `AWS::Serverless::StateMachine` recursos `AWS::Serverless::Function``AWS::Serverless::Api`,`AWS::Serverless::CapacityProvider`, `AWS::Serverless::HttpApi``AWS::Serverless::SimpleTable`, y heredan las propiedades que se definen en la `Globals` sección.  
Esta sección es exclusiva de. AWS SAM No hay una sección correspondiente en las plantillas de CloudFormation .

**[Descripción (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html)**  
Una cadena de texto que describe la plantilla.  
Esta sección se corresponde directamente con la `Description` sección de CloudFormation plantillas.

**[Metadatos (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)**  
Objetos que proporcionan información adicional acerca de la plantilla.  
Esta sección se corresponde directamente con la `Metadata` sección de CloudFormation plantillas.

**[Parámetros (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)**  
Valores que se van a pasar a tu plantilla en tiempo de ejecución (al crear o actualizar una pila). Puedes consultar los parámetros en las secciones `Resources` y `Outputs` de la plantilla. Los objetos que se declaran en la sección `Parameters` hacen que el comando **sam deploy --guided** presente solicitudes adicionales al usuario.  
Los valores que se transfieren mediante el parámetro `--parameter-overrides` del comando `sam deploy` (y las entradas del archivo de configuración) tienen prioridad sobre las entradas del archivo de plantilla de AWS SAM . Para obtener más información sobre el comando `sam deploy`, consulta [sam deploy](sam-cli-command-reference-sam-deploy.md) en la referencia de comandos de la AWS SAM CLI. Para obtener más información sobre el archivo de configuración, consulta [Archivo de configuración de la CLI de AWS SAM](serverless-sam-cli-config.md).

**[Mapeos (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html)**  
Un mapeo de claves y valores asociados que puede utilizar para especificar valores de parámetros condicionales, similar a una tabla de búsqueda. Puede asociar una clave a un valor correspondiente mediante la función intrínseca [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) en las secciones `Resources` y `Outputs`.  
Esta sección se corresponde directamente con la `Mappings` sección de CloudFormation plantillas.

**[Condiciones (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html)**  
Condiciones que controlan si determinados recursos se crean o si a determinadas propiedades de recursos se les asigna un valor durante la creación de la pila o la actualización. Por ejemplo, puede crear un recurso condicionalmente que depende de si la pila es para un entorno de prueba o de producción.  
Esta sección se corresponde directamente con la `Conditions` sección de CloudFormation plantillas.

**[Recursos (obligatorio)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)**  
Los recursos de la pila y sus propiedades, como una instancia de Amazon Elastic Compute Cloud (Amazon EC2) o un depósito de Amazon Simple Storage Service (Amazon S3). Puedes consultar los recursos en las secciones `Resources` y `Outputs` de la plantilla.  
Esta sección es similar a la sección `Resources` de plantillas de CloudFormation . En AWS SAM las plantillas, esta sección puede contener AWS SAM recursos además de los CloudFormation recursos.

**[Salidas (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)**  
Los valores que se devuelven siempre que ve las propiedades de su pila. Por ejemplo, puede declarar un resultado para el nombre de un bucket de S3 y, a continuación, llamar al comando `aws cloudformation describe-stacks` AWS Command Line Interface (AWS CLI) para ver el nombre.  
Esta sección se corresponde directamente con la sección `Outputs` de plantillas de CloudFormation .

## Pasos a seguir a continuación
<a name="template-anatomy-next-steps"></a>

Para descargar e implementar un ejemplo de aplicación sin servidor que contenga un archivo de AWS SAM plantilla, consulta [Empezar con AWS SAM](serverless-getting-started.md) y sigue las instrucciones que se indican en[Tutorial: Implemente una aplicación Hello World con AWS SAM](serverless-getting-started-hello-world.md).

# Sección global de la plantilla AWS SAM
<a name="sam-specification-template-anatomy-globals"></a>

A veces, los recursos que declaras en una AWS SAM plantilla tienen configuraciones comunes. Por ejemplo, es posible que tenga una aplicación con varios recursos de `AWS::Serverless::Function` que tengan configuraciones `Runtime`, `Memory`, `VPCConfig`, `Environment` y `Cors` idénticas. En lugar de duplicar esta información en todos los recursos, puede declararlos una vez en la sección `Globals` y dejar que los recursos los hereden.

La `Globals` sección admite los siguientes tipos AWS SAM de recursos:
+ `AWS::Serverless::Api`
+ `AWS::Serverless::CapacityProvider`
+ `AWS::Serverless::Function`
+ `AWS::Serverless::HttpApi`
+ `AWS::Serverless::SimpleTable`
+ `AWS::Serverless::StateMachine`

Ejemplo:

```
Globals:
  Function:
    Runtime: nodejs12.x
    Timeout: 180
    Handler: index.handler
    Environment:
      Variables:
        TABLE_NAME: data-table

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          MESSAGE: "Hello From SAM"

  ThumbnailFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        Thumbnail:
          Type: Api
          Properties:
            Path: /thumbnail
            Method: POST
```

En este ejemplo, tanto `HelloWorldFunction` como `ThumbnailFunction` utilizan “nodejs12.x” para `Runtime`, “180” segundos para `Timeout` e “index.handler” para `Handler`. `HelloWorldFunction` agrega la variable de entorno MESSAGE, además del TABLE\$1NAME heredado. `ThumbnailFunction` hereda todas las propiedades de `Globals` y añade un origen de eventos de la API.

## Recursos y propiedades compatibles
<a name="sam-specification-template-anatomy-globals-supported-resources-and-properties"></a>

AWS SAM admite los siguientes recursos y propiedades.

```
Globals:
  Api:
    AccessLogSetting:
    Auth:
    BinaryMediaTypes:
    CacheClusterEnabled:
    CacheClusterSize:
    CanarySetting:
    Cors:
    DefinitionUri:
    Domain:
    EndpointConfiguration:
    GatewayResponses:
    MethodSettings:
    MinimumCompressionSize:
    Name:
    OpenApiVersion:
    PropagateTags:
    TracingEnabled:
    Variables:
  
  CapacityProvider:
    InstanceRequirements:
    KmsKeyArn:
    OperatorRole:
    PropagateTags:
    ScalingConfig:
    Tags:
    VpcConfig:
  
  Function:
    Architectures:
    AssumeRolePolicyDocument:
    AutoPublishAlias:
    AutoPublishAliasAllProperties:
    CapacityProviderConfig:
    CodeSigningConfigArn:
    CodeUri:
    DeadLetterQueue:
    DeploymentPreference:
    Description:
    DurableConfig:
    Environment:
    EphemeralStorage:
    EventInvokeConfig:
    FileSystemConfigs:
    FunctionScalingConfig:
    FunctionUrlConfig:
    Handler:
    KmsKeyArn:
    Layers:
    LoggingConfig:
    MemorySize:
    PermissionsBoundary:
    PropagateTags:
    ProvisionedConcurrencyConfig:
    PublishToLatestPublished:
    RecursiveLoop:
    ReservedConcurrentExecutions:
    RolePath:
    Runtime:
    RuntimeManagementConfig:
    SnapStart:
    SourceKMSKeyArn:
    Tags:
    TenancyConfig:
    Timeout:
    Tracing:
    VersionDeletionPolicy:
    VpcConfig:

  HttpApi:
    AccessLogSettings:
    Auth:
    PropagateTags:
    StageVariables:
    Tags:

  SimpleTable:
    SSESpecification:
    
  StateMachine:
    PropagateTags:
```

**nota**  
No se admiten recursos y propiedades que no se incluyan en la lista anterior. Algunas de las razones por las que no se admiten son: 1) Presentan posibles problemas de seguridad o 2) Hacen que la plantilla sea difícil de entender.

## Implícito APIs
<a name="sam-specification-template-anatomy-globals-implicit-apis"></a>

AWS SAM se crea de *forma implícita APIs* al declarar una API en la `Events` sección. Se puede utilizar `Globals` para anular todas las propiedades de implícita. APIs

## Propiedades anulables
<a name="sam-specification-template-anatomy-globals-overrideable"></a>

Los recursos pueden anular las propiedades que declare en la sección `Globals`. Por ejemplo, puede añadir nuevas variables a un mapa de variables de entorno o puede anular las variables declaradas globalmente. Sin embargo, el recurso no puede eliminar una propiedad especificada en la sección `Globals`.

De forma más general, la sección `Globals` declara las propiedades que comparten todos los recursos. Algunos recursos pueden proporcionar nuevos valores para las propiedades declaradas globalmente, pero no pueden eliminarlos. Si algunos recursos usan una propiedad pero otros no, no debe declararlos en la sección `Globals`.

En las secciones siguientes, se describe cómo funciona la anulación para distintos tipos de datos.

### Se sustituyen los tipos de datos primitivos
<a name="sam-specification-template-anatomy-globals-overrideable-primitives"></a>

Entre estos tipos de datos primitivos se incluyen cadenas, números, valores booleanos, etc.

El valor especificado en la sección `Resources` reemplaza al valor de la sección `Globals`.

Ejemplo:

```
Globals:
  Function:
    Runtime: nodejs12.x

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: python3.9
```

El `Runtime` para `MyFunction` está establecido en `python3.9`.

### Los mapas se fusionan
<a name="sam-specification-template-anatomy-globals-overrideable-maps"></a>

Los mapas también se conocen como diccionarios o colecciones de pares de clave-valor.

Las entradas de mapas de la sección `Resources` se fusionan con las entradas de mapas globales. Si hay duplicados, la entrada de la sección `Resource` anula la entrada de la sección `Globals`.

Ejemplo:

```
Globals:
  Function:
    Environment:
      Variables:
        STAGE: Production
        TABLE_NAME: global-table

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          TABLE_NAME: resource-table
          NEW_VAR: hello
```

Las variables de entorno `MyFunction` se establecen de la siguiente manera:

```
{
  "STAGE": "Production",
  "TABLE_NAME": "resource-table",
  "NEW_VAR": "hello"
}
```

### Las listas son acumulativas
<a name="sam-specification-template-anatomy-globals-overrideable-lists"></a>

Las listas también se conocen como matrices.

Las entradas de la lista de la sección `Globals` se anteponen a la lista de la sección `Resources`.

Ejemplo:

```
Globals:
  Function:
    VpcConfig:
      SecurityGroupIds:
        - sg-123
        - sg-456

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      VpcConfig:
        SecurityGroupIds:
          - sg-first
```

Los `SecurityGroupIds` para la `VpcConfig` de `MyFunction` establecen de la siguiente manera:

```
[ "sg-123", "sg-456", "sg-first" ]
```

# AWS SAM recursos y propiedades
<a name="sam-specification-resources-and-properties"></a>

En esta sección se describen los tipos de recursos y propiedades específicos de. AWS SAM Estos recursos y propiedades se definen mediante la sintaxis AWS SAM abreviada. AWS SAM también admite los tipos CloudFormation de recursos y propiedades. Para obtener información de referencia sobre todos los tipos de AWS recursos y propiedades CloudFormation y el AWS SAM soporte, consulte la [referencia sobre los tipos de AWS recursos y propiedades](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) en la *Guía del AWS CloudFormation usuario*.

**Topics**
+ [AWS::Serverless::Api](sam-resource-api.md)
+ [AWS::Serverless::Application](sam-resource-application.md)
+ [AWS::Serverless::CapacityProvider](sam-resource-capacityprovider.md)
+ [AWS::Serverless::Connector](sam-resource-connector.md)
+ [AWS::Serverless::Function](sam-resource-function.md)
+ [AWS::Serverless::GraphQLApi](sam-resource-graphqlapi.md)
+ [AWS::Serverless::HttpApi](sam-resource-httpapi.md)
+ [AWS::Serverless::LayerVersion](sam-resource-layerversion.md)
+ [AWS::Serverless::SimpleTable](sam-resource-simpletable.md)
+ [AWS::Serverless::StateMachine](sam-resource-statemachine.md)

# AWS::Serverless::Api
<a name="sam-resource-api"></a>

Crea una colección de recursos y métodos de Amazon API Gateway que se pueden invocarse a través de puntos de conexión HTTPS.

No es necesario añadir un [AWS::Serverless::Api](#sam-resource-api) recurso de forma explícita a una plantilla de definición de aplicaciones AWS sin servidor. Un recurso de este tipo se crea implícitamente a partir de la unión de eventos de API definidos en los recursos [AWS::Serverless::Function](sam-resource-function.md) definidos en la plantilla que no hacen referencia a un recurso [AWS::Serverless::Api](#sam-resource-api).

Se debe utilizar un [AWS::Serverless::Api](#sam-resource-api) recurso para definir y documentar la API que se utiliza OpenApi, lo que proporciona más capacidad para configurar los recursos subyacentes de Amazon API Gateway.

Te recomendamos que utilices CloudFormation enlaces o políticas de IAM para comprobar que los recursos de API Gateway tienen autorizadores adjuntos para controlar el acceso a ellos.

Para obtener más información sobre el uso de CloudFormation ganchos, consulte [Registrar ganchos](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) en la *guía del usuario de la CloudFormation CLI* y en el [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub repositorio.

Para obtener más información sobre el uso de las políticas de IAM, consulta [Exigir que las rutas de API tengan autorización](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) en la *Guía para desarrolladores de API Gateway*.

**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-api-syntax"></a>

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

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

```
Type: AWS::Serverless::Api
Properties:
  [AccessLogSetting](#sam-api-accesslogsetting): [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)
  AlwaysDeploy: Boolean
  [ApiKeySourceType](#sam-api-apikeysourcetype): String
  [Auth](#sam-api-auth): ApiAuth
  [BinaryMediaTypes](#sam-api-binarymediatypes): List
  [CacheClusterEnabled](#sam-api-cacheclusterenabled): Boolean
  [CacheClusterSize](#sam-api-cacheclustersize): String
  [CanarySetting](#sam-api-canarysetting): [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)
  [Cors](#sam-api-cors): String | CorsConfiguration
  [DefinitionBody](#sam-api-definitionbody): JSON
  [DefinitionUri](#sam-api-definitionuri): String | ApiDefinition
  [Description](#sam-api-description): String
  [DisableExecuteApiEndpoint](#sam-api-disableexecuteapiendpoint): Boolean
  [Domain](#sam-api-domain): DomainConfiguration
  [EndpointConfiguration](#sam-api-endpointconfiguration): EndpointConfiguration
  [FailOnWarnings](#sam-api-failonwarnings): Boolean
  [GatewayResponses](#sam-api-gatewayresponses): Map
  MergeDefinitions: Boolean
  [MethodSettings](#sam-api-methodsettings): MethodSettings
  [MinimumCompressionSize](#sam-api-minimumcompressionsize): Integer
  [Mode](#sam-api-mode): String
  [Models](#sam-api-models): Map
  [Name](#sam-api-name): String
  [OpenApiVersion](#sam-api-openapiversion): String
  PropagateTags: Boolean
  [Policy](#sam-api-policy): JSON
  [StageName](#sam-api-stagename): String
  [Tags](#sam-api-tags): Map
  [TracingEnabled](#sam-api-tracingenabled): Boolean
  [Variables](#sam-api-variables): Map
```

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

 `AccessLogSetting`   <a name="sam-api-accesslogsetting"></a>
Configuración de registros de acceso para una etapa.  
*Tipo:* [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)` propiedad de un `AWS::ApiGateway::Stage` recurso.

 `AlwaysDeploy`   <a name="sam-api-alwaysdeploy"></a>
Siempre implementas la API, incluso cuando no se han detectado cambios en la API.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ApiKeySourceType`   <a name="sam-api-apikeysourcetype"></a>
Origen de la clave de API para medir las solicitudes de acuerdo con un plan de uso. Los valores válidos son `HEADER` y `AUTHORIZER`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ApiKeySourceType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype)` propiedad de un `AWS::ApiGateway::RestApi` recurso.

 `Auth`   <a name="sam-api-auth"></a>
Configura la autorización para controlar el acceso a su API de API Gateway.  
Para obtener más información sobre cómo configurar el acceso mediante, AWS SAM consulte[Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md). Para ver un ejemplo que muestra cómo anular un autorizador global, consulte [Anule un autorizador global para su API de REST de Amazon API Gateway](sam-property-function-apifunctionauth.md#sam-property-function-apifunctionauth--examples--override).  
*Tipo:* [ApiAuth](sam-property-api-apiauth.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `BinaryMediaTypes`   <a name="sam-api-binarymediatypes"></a>
Lista de tipos MIME que su API puede devolver. Use esta opción para habilitar el soporte binario paraAPIs.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[BinaryMediaTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes)` propiedad de un `AWS::ApiGateway::RestApi` recurso. La lista de BinaryMediaTypes se añade tanto al CloudFormation recurso como al documento de OpenAPI.

 `CacheClusterEnabled`   <a name="sam-api-cacheclusterenabled"></a>
Indica si el almacenado en caché está habilitado para la etapa. Para almacenar en caché las respuestas, también debe configurar `CachingEnabled` para `true` bajo `MethodSettings`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CacheClusterEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled)` propiedad de un `AWS::ApiGateway::Stage` recurso.

 `CacheClusterSize`   <a name="sam-api-cacheclustersize"></a>
El tamaño del clúster de caché de la etapa.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CacheClusterSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize)` propiedad de un `AWS::ApiGateway::Stage` recurso.

 `CanarySetting`   <a name="sam-api-canarysetting"></a>
Configure una prueba canario como una etapa de una implementación normal.  
*Tipo:* [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)` propiedad de un `AWS::ApiGateway::Stage` recurso.

 `Cors`   <a name="sam-api-cors"></a>
Gestione el intercambio de recursos entre orígenes (CORS) para todas sus API Gateway. APIs Especifica el dominio que quieres permitir como cadena o especifica un diccionario con una configuración de Cors adicional.   
CORS requiere modificar AWS SAM la definición de OpenAPI. Cree una definición de OpenAPI en línea en `DefinitionBody` para activar CORS.
Para obtener más información sobre CORS, consulta [Habilitar CORS para un recurso de la API de REST de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) en la *Guía para desarrolladores de API Gateway*.  
*Tipo: Cadena* \$1 [CorsConfiguration](sam-property-api-corsconfiguration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `DefinitionBody`   <a name="sam-api-definitionbody"></a>
Especificación de OpenAPI que describe su API. Si no se especifica ni `DefinitionUri` ni `DefinitionBody`, SAM generará `DefinitionBody` para usted en función de la configuración de la plantilla.  
Para hacer referencia a un archivo local de OpenAPI que defina su API, usa la transformación `AWS::Include`. Para obtener más información, consulta [¿Cómo se AWS SAM cargan los archivos locales](deploy-upload-local-files.md).  
*Tipo*: JSON  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` propiedad de un `AWS::ApiGateway::RestApi` recurso. Si se proporcionan determinadas propiedades, el contenido se puede insertar o modificar en ellas DefinitionBody antes de pasarlo a ellas CloudFormation. Las propiedades incluyen`Auth`, `BinaryMediaTypes`, `Cors`, `GatewayResponses`, `Models` y una `EventSource` del tipo Api para una `AWS::Serverless::Function` correspondiente.

 `DefinitionUri`   <a name="sam-api-definitionuri"></a>
Amazon S3 Uri, la ruta de archivo local o el objeto de ubicación del documento de OpenAPI que define la API. El objeto Amazon S3 al que hace referencia esta propiedad debe ser un archivo OpenAPI válido. Si no se especifica ni `DefinitionUri` ni `DefinitionBody`, SAM generará `DefinitionBody` para usted en función de la configuración de la plantilla.  
Si se proporciona una ruta de archivo local, la plantilla debe seguir el flujo de trabajo que incluye el comando `sam deploy` o `sam package` para que la definición se transforme correctamente.  
Las funciones intrínsecas no se admiten en OpenApi los archivos externos a los que hace referencia`DefinitionUri`. En su lugar, utilice la `DefinitionBody` propiedad con la [transformación Include](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) para importar una OpenApi definición a la plantilla.  
*Tipo*: Cadena \$1 [ApiDefinition](sam-property-api-apidefinition.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location)` propiedad de un `AWS::ApiGateway::RestApi` recurso. Las propiedades anidadas de Amazon S3 tienen un nombre diferente.

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

 `DisableExecuteApiEndpoint`   <a name="sam-api-disableexecuteapiendpoint"></a>
Especifica si los clientes pueden invocar la API mediante el punto de conexión `execute-api` predeterminado. De forma predeterminada, los clientes pueden invocar su API con el `https://{api_id}.execute-api.{region}.amazonaws.com` predeterminado. Para exigir que los clientes utilicen un nombre de dominio personalizado para invocar su API, especifica `True`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint)` propiedad de un `AWS::ApiGateway::RestApi` recurso. Se pasa directamente a la propiedad `disableExecuteApiEndpoint` de una extensión `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)`, que se agrega a la propiedad ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` de un recurso `AWS::ApiGateway::RestApi`.

 `Domain`   <a name="sam-api-domain"></a>
Configura un dominio personalizado para esta API de API Gateway.  
*Tipo:* [DomainConfiguration](sam-property-api-domainconfiguration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `EndpointConfiguration`   <a name="sam-api-endpointconfiguration"></a>
El tipo de punto de conexión de una API de REST.  
*Tipo:* [EndpointConfiguration](sam-property-api-endpointconfiguration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[EndpointConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration)` propiedad de un `AWS::ApiGateway::RestApi` recurso. Las propiedades anidadas de configuración tienen un nombre diferente.

 `FailOnWarnings`   <a name="sam-api-failonwarnings"></a>
Especifica si se va a restaurar la creación de API (`true`) o no (`false`) cuando se encuentra una advertencia. El valor predeterminado es `false`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings)` propiedad de un `AWS::ApiGateway::RestApi` recurso.

 `GatewayResponses`   <a name="sam-api-gatewayresponses"></a>
Configura las respuestas de Gateway para una API. Las respuestas de Gateway son respuestas devueltas por API Gateway, ya sea directamente o mediante el uso de autorizadores Lambda. Para obtener más información, consulte la documentación de la [ OpenApi extensión Api Gateway para Gateway Responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html).  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `MergeDefinitions`   <a name="sam-api-mergedefinitions"></a>
AWS SAM genera una OpenAPI especificación a partir de la fuente de eventos de la API. Especifique `true` si desea AWS SAM fusionarla con la OpenAPI especificación en línea definida en su `AWS::Serverless::Api` recurso. Especifica que `false` no se fusione.  
`MergeDefinitions` requiere que la propiedad de `DefinitionBody` para `AWS::Serverless::Api` se defina. `MergeDefinitions` no es compatible con la propiedad de `DefinitionUri` para `AWS::Serverless::Api`.  
*Valor predeterminado:* `false`  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `MethodSettings`   <a name="sam-api-methodsettings"></a>
Configura todos los ajustes de la etapa de la API, incluidos los de registro, métricas, cachetTL y la limitación controlada.  
*Tipo*: lista de [ MethodSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MethodSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings)` propiedad de un `AWS::ApiGateway::Stage` recurso.

 `MinimumCompressionSize`   <a name="sam-api-minimumcompressionsize"></a>
Permita la compresión de los cuerpos de respuesta en función del encabezado Accept-Encoding del cliente. La compresión se desencadena cuando el tamaño del cuerpo de respuesta es superior o igual al umbral configurado. El umbral de tamaño máximo del cuerpo es de 10 MB (10.485.760 bytes). - Se admiten los siguientes tipos de compresión: gzip, deflate e identidad.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MinimumCompressionSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize)` propiedad de un `AWS::ApiGateway::RestApi` recurso.

 `Mode`   <a name="sam-api-mode"></a>
Esta propiedad solo se aplica cuando se utiliza OpenAPI para definir su API de REST. El `Mode` determina cómo API Gateway maneja las actualizaciones de recursos. Para obtener más información, consulta la propiedad [Modo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode) en el tipo de recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html).  
*Valores válidos*: `overwrite` o `merge`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Mode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode)` propiedad de un `AWS::ApiGateway::RestApi` recurso.

 `Models`   <a name="sam-api-models"></a>
Los esquemas que deben utilizar sus métodos API. Estos esquemas se pueden describir mediante JSON o YAML. Consulte la sección de ejemplos al final de esta página para ver ejemplos de modelos.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Name`   <a name="sam-api-name"></a>
Un nombre para el RestApi recurso API Gateway  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name)` propiedad de un `AWS::ApiGateway::RestApi` recurso.

 `OpenApiVersion`   <a name="sam-api-openapiversion"></a>
Versión de OpenApi a utilizar. Puede ser `2.0` para la especificación Swagger o para una de las versiones OpenApi 3.0, por ejemplo. `3.0.1` Para más información sobre OpenAPI, consulta la [Especificación de OpenAPI.](https://swagger.io/specification/)  
 AWS SAM crea un escenario llamado `Stage` por defecto. Si se establece esta propiedad en cualquier valor válido, se impedirá la creación de la etapa `Stage`. 
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

`Policy`  <a name="sam-api-policy"></a>
Documento de la política que contiene los permisos para la API. Para establecer el ARN de la política, utilice la función intrínseca `!Join` con `""` como delimitador y los valores `"execute-api:/"` y `"*"`.  
*Tipo*: JSON  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la propiedad [Policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy) de un `AWS::ApiGateway::RestApi` recurso.

 `StageName`   <a name="sam-api-stagename"></a>
El nombre de la etapa, que API Gateway utiliza como el primer segmento de la ruta en el Identificador uniforme de recursos (URI) invocado.  
Para hacer referencia al recurso de la etapa, utilice `<api-logical-id>.Stage`. Para obtener más información sobre cómo hacer referencia a los recursos generados cuando se especifica un recurso [AWS::Serverless::Api](#sam-resource-api), consulta [CloudFormation recursos generados cuando AWS::Serverless::Api se especifica](sam-specification-generated-resources-api.md). 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*: sí  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename)` propiedad de un `AWS::ApiGateway::Stage` recurso. Es obligatorio en SAM, pero no en API Gateway  
*Notas adicionales*: la API implícita tiene el nombre de etapa de “Prod”.

 `Tags`   <a name="sam-api-tags"></a>
Un mapa (cadena a cadena) que especifica las etiquetas que deben añadirse a esta etapa de la API Gateway. Para obtener más información sobre las claves y los valores válidos de las etiquetas, consulta la [etiqueta de recursos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) en la *Guía del usuario de AWS CloudFormation *.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags)` propiedad de un `AWS::ApiGateway::Stage` recurso. La propiedad Tags de SAM consta de pares clave-valor; en CloudFormation ella, consiste en una lista de objetos Tag.

 `TracingEnabled`   <a name="sam-api-tracingenabled"></a>
Indica si se ha habilitado el rastreo activo con X-Ray para la fase. Para obtener más información sobre X-Ray, consulte [Rastreo de las solicitudes de los usuarios a REST APIs mediante X-Ray](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html) en la *Guía para desarrolladores de API Gateway*.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[TracingEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled)` propiedad de un `AWS::ApiGateway::Stage` recurso.

 `Variables`   <a name="sam-api-variables"></a>
Un mapa (cadena a cadena) que define las variables de la fase, donde el nombre de la variable es la clave y el valor de la variable es el valor. Los nombres de variables están limitados a caracteres alfanuméricos. Los valores deben coincidir con las siguientes expresiones regulares: `[A-Za-z0-9._~:/?#&=,-]+`.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Variables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables)` propiedad de un `AWS::ApiGateway::Stage` recurso.

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

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

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

`RootResourceId`  <a name="RootResourceId-fn::getatt"></a>
El ID del recurso raíz de un recurso `RestApi`, como por ejemplo `a0bc123d4e`.

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

### SimpleApiExample
<a name="sam-resource-api--examples--simpleapiexample"></a>

Un archivo de AWS SAM plantilla de Hello World que contiene una función Lambda con un punto final de API. Se trata de un archivo de AWS SAM plantilla completo para una aplicación sin servidor que funcione.

#### YAML
<a name="sam-resource-api--examples--simpleapiexample--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### ApiCorsExample
<a name="sam-resource-api--examples--apicorsexample"></a>

Un fragmento AWS SAM de plantilla con una API definida en un archivo Swagger externo junto con integraciones de Lambda y configuraciones de CORS. Esto es solo una parte de un archivo de plantilla que muestra una definición. AWS SAM [AWS::Serverless::Api](#sam-resource-api)

#### YAML
<a name="sam-resource-api--examples--apicorsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      # Allows www.example.com to call these APIs
      # SAM will automatically add AllowMethods with a list of methods for this API
      Cors: "'www.example.com'"
      DefinitionBody: # Pull in an OpenApi definition from S3
        'Fn::Transform':
          Name: 'AWS::Include'
          # Replace "bucket" with your bucket name
          Parameters:
            Location: s3://bucket/swagger.yaml
```

### ApiCognitoAuthExample
<a name="sam-resource-api--examples--apicognitoauthexample"></a>

Un fragmento AWS SAM de plantilla con una API que utiliza Amazon Cognito para autorizar las solicitudes contra la API. Es solo una parte de un archivo de AWS SAM plantilla que muestra una definición. [AWS::Serverless::Api](#sam-resource-api)

#### YAML
<a name="sam-resource-api--examples--apicognitoauthexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors: "'*'"
      Auth:
        DefaultAuthorizer: MyCognitoAuthorizer
        Authorizers:
          MyCognitoAuthorizer:
            UserPoolArn:
              Fn::GetAtt: [MyCognitoUserPool, Arn]
```

### ApiModelsExample
<a name="sam-resource-api--examples--apimodelsexample"></a>

Un fragmento AWS SAM de plantilla con una API que incluye un esquema de modelos. Esto es solo una parte de un archivo de AWS SAM plantilla, que muestra una [AWS::Serverless::Api](#sam-resource-api) definición con dos esquemas de modelo.

#### YAML
<a name="sam-resource-api--examples--apimodelsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Models:
        User:
          type: object
          required:
            - username
            - employee_id
          properties:
            username:
              type: string
            employee_id:
              type: integer
            department:
              type: string
        Item:
          type: object
          properties:
            count:
              type: integer
            category:
              type: string
            price:
              type: integer
```

### Ejemplo de almacenamiento en caché
<a name="sam-resource-api--examples--caching-example"></a>

Un archivo de AWS SAM plantilla de Hello World que contiene una función Lambda con un punto final de API. La API tiene habilitado el almacenamiento en caché para un recurso y un método. Para obtener más información acerca del almacenamiento en caché, consulta [Habilitar el almacenamiento en caché de la API para mejorar la capacidad de respuesta](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) en la *Guía para desarrolladores de API Gateway*.

#### YAML
<a name="sam-resource-api--examples--caching-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition with caching turned on
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      CacheClusterEnabled: true
      CacheClusterSize: '0.5'
      MethodSettings:
        - ResourcePath: /
          HttpMethod: GET
          CachingEnabled: true
          CacheTtlInSeconds: 300
      Tags:
        CacheMethods: All 

  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### Ejemplo de dominio personalizado con una API privada
<a name="sam-resource-api--examples--custom-domain-example"></a>

Un archivo de AWS SAM plantilla de Hello World que contiene una función Lambda con un punto final de API asignado a un dominio privado. La plantilla crea una asociación de acceso a un dominio entre un punto de conexión de VPC y un dominio privado. Para obtener más información, consulte [Nombres de dominio personalizados para uso privado APIs en API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html).

#### YAML
<a name="sam-resource-api--examples--custom-domain-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template configured with a custom domain using a private API

Parameters:
    DomainName:
      Type: String
      Default: mydomain.example.com
    CertificateArn:
      Type: String
    HostedZoneId:
      Type: String
    VpcEndpointId:
      Type: String
    VpcEndpointDomainName:
      Type: String
    VpcEndpointHostedZoneId:
      Type: String

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Handler: index.handler
      Runtime: python3.13
      Events:
        Fetch:
          Type: Api
          Properties:
            RestApiId:
              Ref: MyApi
            Method: Get
            Path: /get
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      EndpointConfiguration:
        Type: PRIVATE
        VPCEndpointIds:
        - !Ref VpcEndpointId
      Policy:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Effect: Allow
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
        - Effect: Deny
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
          Condition:
            StringNotEquals:
              aws:SourceVpce: !Ref VpcEndpointId
      Domain:
        DomainName: !Ref DomainName
        CertificateArn: !Ref CertificateArn
        EndpointConfiguration: PRIVATE
        BasePath:
        - /
        Route53:
          HostedZoneId: !Ref HostedZoneId
          VpcEndpointDomainName: !Ref VpcEndpointDomainName
          VpcEndpointHostedZoneId: !Ref VpcEndpointHostedZoneId
        AccessAssociation:
          VpcEndpointId: !Ref VpcEndpointId
        Policy:
          Version: '2012-10-17		 	 	 '
          Statement:
          - Effect: Allow
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
          - Effect: Deny
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
            Condition:
              StringNotEquals:
                aws:SourceVpce: !Ref VpcEndpointId
```

# ApiAuth
<a name="sam-property-api-apiauth"></a>

Configura la autorización para controlar el acceso a su API de API Gateway.

Para obtener más información y ejemplos de configuración del acceso mediante, AWS SAM consulte[Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md).

## Sintaxis
<a name="sam-property-api-apiauth-syntax"></a>

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

### YAML
<a name="sam-property-api-apiauth-syntax.yaml"></a>

```
  AddApiKeyRequiredToCorsPreflight: Boolean
  [AddDefaultAuthorizerToCorsPreflight](#sam-api-apiauth-adddefaultauthorizertocorspreflight): Boolean
  [ApiKeyRequired](#sam-api-apiauth-apikeyrequired): Boolean
  [Authorizers](#sam-api-apiauth-authorizers): CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
  [DefaultAuthorizer](#sam-api-apiauth-defaultauthorizer): String
  [InvokeRole](#sam-api-apiauth-invokerole): String
  [ResourcePolicy](#sam-api-apiauth-resourcepolicy): ResourcePolicyStatement
  [UsagePlan](#sam-api-apiauth-usageplan): ApiUsagePlan
```

**nota**  
La propiedad `Authorizers` incluye `AWS_IAM`, pero no se necesita ninguna configuración adicional para `AWS_IAM`. Para ver un ejemplo, consulta [AWS YO SOY](#sam-property-api-apiauth--examples--aws_iam).

## Propiedades
<a name="sam-property-api-apiauth-properties"></a>

 `AddApiKeyRequiredToCorsPreflight`   <a name="sam-api-apiauth-addapikeyrequiredtocorspreflight"></a>
Si las propiedades `ApiKeyRequired` y `Cors` están configuradas, la configuración `AddApiKeyRequiredToCorsPreflight` provocará que la clave de API se añada a la propiedad `Options`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: `True`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `AddDefaultAuthorizerToCorsPreflight`   <a name="sam-api-apiauth-adddefaultauthorizertocorspreflight"></a>
Si las propiedades `DefaultAuthorizer` y `Cors` están configuradas, la configuración `AddDefaultAuthorizerToCorsPreflight` provocará que se añada el autorizador predeterminado a la propiedad `Options` en la sección OpenAPI.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: True  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ApiKeyRequired`   <a name="sam-api-apiauth-apikeyrequired"></a>
Si se establece en true, una clave de API es necesaria para todos los eventos de API. Para obtener más información sobre claves de API, consulta el tema [Creación y utilización de planes de uso de claves API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) en la *Guía para desarrolladores de API Gateway*.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Authorizers`   <a name="sam-api-apiauth-authorizers"></a>
El autorizador utilizado para controlar el acceso a la API de API Gateway.  
Para obtener más información, consulte [Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md).  
*Tipo*: [CognitoAuthorizer](sam-property-api-cognitoauthorizer.md)\$1 [LambdaTokenAuthorizer](sam-property-api-lambdatokenauthorizer.md)\$1 [LambdaRequestAuthorizer](sam-property-api-lambdarequestauthorizer.md)\$1 AWS\$1IAM  
*Obligatorio*: no  
*Valor predeterminado*: Ninguno  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: SAM añade los autorizadores a la OpenApi definición de API.

 `DefaultAuthorizer`   <a name="sam-api-apiauth-defaultauthorizer"></a>
Especifica un autorizador predeterminado para una API de API Gateway, que se utilizará para autorizar las llamadas a la API de forma predeterminada.  
Si la API EventSource de la función asociada a esta API está configurada para usar permisos de IAM, esta propiedad debe estar establecida en; de lo contrario`AWS_IAM`, se producirá un error.
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: Ninguno  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `InvokeRole`   <a name="sam-api-apiauth-invokerole"></a>
Establezca las credenciales de integración para todos los recursos y métodos en este valor.  
`CALLER_CREDENTIALS` se asigna a `arn:aws:iam:::<user>/`, que utiliza las credenciales de la persona que llama para invocar el punto de conexión.  
*Valores válidos*: `CALLER_CREDENTIALS`, `NONE`, `IAMRoleArn`  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: `CALLER_CREDENTIALS`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ResourcePolicy`   <a name="sam-api-apiauth-resourcepolicy"></a>
Configura la política de recursos para todos los métodos y rutas de una API.  
*Tipo:* [ResourcePolicyStatement](sam-property-api-resourcepolicystatement.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: Esta configuración también se puede definir de forma individual con `AWS::Serverless::Function` mediante [ApiFunctionAuth](sam-property-function-apifunctionauth.md). Esto es obligatorio para APIs con`EndpointConfiguration: PRIVATE`.

 `UsagePlan`   <a name="sam-api-apiauth-usageplan"></a>
Configura un plan de uso asociado a esta API. Para obtener más información sobre claves de API, consulta el tema [Creación y utilización de planes de uso de claves API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) en la *Guía para desarrolladores de API Gateway*.  
Esta AWS SAM propiedad genera tres CloudFormation recursos adicionales cuando se establece: an [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), an y an [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html). Para obtener información acerca de esta situación, consulta [UsagePlan se especifica la propiedad](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-usage-plan). Para obtener información general sobre CloudFormation los recursos generados, consulte[CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).  
*Tipo:* [ApiUsagePlan](sam-property-api-apiusageplan.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-apiauth--examples"></a>

### CognitoAuth
<a name="sam-property-api-apiauth--examples--cognitoauth"></a>

Ejemplo de autorización de Cognito

#### YAML
<a name="sam-property-api-apiauth--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers:
    MyCognitoAuth:
     UserPoolArn:
       Fn::GetAtt:
         - MyUserPool
         - Arn
     AuthType: "COGNITO_USER_POOLS"
  DefaultAuthorizer: MyCognitoAuth
  InvokeRole: CALLER_CREDENTIALS
  AddDefaultAuthorizerToCorsPreflight: false
  ApiKeyRequired: false
  ResourcePolicy:
    CustomStatements: [{
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "execute-api:/Prod/GET/pets",
      "Condition": {
          "IpAddress": {
              "aws:SourceIp": "1.2.3.4"
          }
        }
    }]
    IpRangeDenylist:
      - "10.20.30.40"
```

### AWS YO SOY
<a name="sam-property-api-apiauth--examples--aws_iam"></a>

AWS Ejemplo de IAM

#### YAML
<a name="sam-property-api-apiauth--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers: AWS_IAM
```

# ApiUsagePlan
<a name="sam-property-api-apiusageplan"></a>

Configura un plan de uso para una API de API Gateway. Para obtener más información sobre claves de API, consulta el tema [Creación y utilización de planes de uso de claves API](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-api-apiusageplan-syntax"></a>

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

### YAML
<a name="sam-property-api-apiusageplan-syntax.yaml"></a>

```
  [CreateUsagePlan](#sam-api-apiusageplan-createusageplan): String
  [Description](#sam-api-apiusageplan-description): String
  [Quota](#sam-api-apiusageplan-quota): [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)
  [Tags](#sam-api-apiusageplan-tags): List
  [Throttle](#sam-api-apiusageplan-throttle): [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)
  [UsagePlanName](#sam-api-apiusageplan-usageplanname): String
```

## Propiedades
<a name="sam-property-api-apiusageplan-properties"></a>

 `CreateUsagePlan`   <a name="sam-api-apiusageplan-createusageplan"></a>
Determina cómo se configura este plan de uso. Los valores válidos son `PER_API`, `SHARED` y `NONE`.  
`PER_API` crea los recursos [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) y [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html) específicos de esta API. Estos recursos tienen IDs la lógica de `<api-logical-id>UsagePlan``<api-logical-id>ApiKey`, y`<api-logical-id>UsagePlanKey`, respectivamente.  
`SHARED`crea [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)y [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)recursos que se comparten en cualquier API que también tenga `CreateUsagePlan: SHARED` la misma AWS SAM plantilla. [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) Estos recursos tienen una lógica IDs de `ServerlessUsagePlan``ServerlessApiKey`, y`ServerlessUsagePlanKey`, respectivamente. Si usas esta opción, te recomendamos que añada una configuración adicional para este plan de uso en un solo recurso de API para evitar definiciones conflictivas y un estado incierto.  
`NONE` inhabilita la creación o la asociación de un plan de uso con esta API. Esto solo es necesario si `SHARED` o `PER_API` se especifica en [Sección global de la plantilla AWS SAM](sam-specification-template-anatomy-globals.md).  
*Valores válidos*: `PER_API`, `SHARED` y `NONE`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Description`   <a name="sam-api-apiusageplan-description"></a>
Es una descripción del plan de uso.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description)` propiedad de un `AWS::ApiGateway::UsagePlan` recurso.

 `Quota`   <a name="sam-api-apiusageplan-quota"></a>
Configura el número de solicitudes que pueden realizar los usuarios dentro de un determinado intervalo.  
*Tipo:* [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Quota](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)` propiedad de un `AWS::ApiGateway::UsagePlan` recurso.

 `Tags`   <a name="sam-api-apiusageplan-tags"></a>
Una matriz de etiquetas arbitrarias (pares de clave-valor) que se asocian al plan de uso.  
Esta propiedad usa el [tipo de CloudFormation etiqueta](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags)` propiedad de un `AWS::ApiGateway::UsagePlan` recurso.

 `Throttle`   <a name="sam-api-apiusageplan-throttle"></a>
Configura la tasa de solicitudes general (promedio de solicitudes por segundo) y la capacidad de ráfaga.  
*Tipo:* [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Throttle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)` propiedad de un `AWS::ApiGateway::UsagePlan` recurso.

 `UsagePlanName`   <a name="sam-api-apiusageplan-usageplanname"></a>
Nombre para el plan de uso.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[UsagePlanName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname)` propiedad de un `AWS::ApiGateway::UsagePlan` recurso.

## Ejemplos
<a name="sam-property-api-apiusageplan--examples"></a>

### UsagePlan
<a name="sam-property-api-apiusageplan--examples--usageplan"></a>

El siguiente es un ejemplo de plan de uso.

#### YAML
<a name="sam-property-api-apiusageplan--examples--usageplan--yaml"></a>

```
Auth:
  UsagePlan:
    CreateUsagePlan: PER_API
    Description: Usage plan for this API
    Quota:
      Limit: 500
      Period: MONTH
    Throttle:
      BurstLimit: 100
      RateLimit: 50
    Tags:
      - Key: TagName
        Value: TagValue
```

# CognitoAuthorizer
<a name="sam-property-api-cognitoauthorizer"></a>

Define un autorizador de grupo de usuarios de Amazon Cognito.

Para obtener más información y ejemplos, consulta [Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md).

## Sintaxis
<a name="sam-property-api-cognitoauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-cognitoauthorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-api-cognitoauthorizer-authorizationscopes): List
  [Identity](#sam-api-cognitoauthorizer-identity): CognitoAuthorizationIdentity
  [UserPoolArn](#sam-api-cognitoauthorizer-userpoolarn): String
```

## Propiedades
<a name="sam-property-api-cognitoauthorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-api-cognitoauthorizer-authorizationscopes"></a>
Lista de los ámbitos de autorización de este autorizador.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Identity`   <a name="sam-api-cognitoauthorizer-identity"></a>
Esta propiedad se puede usar para especificar una solicitud `IdentitySource` entrante de un autorizador.  
*Tipo:* [CognitoAuthorizationIdentity](sam-property-api-cognitoauthorizationidentity.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `UserPoolArn`   <a name="sam-api-cognitoauthorizer-userpoolarn"></a>
Puede hacer referencia a un usuario ( pool/specify un nombre de grupo de usuarios) al que desee añadir este autorizador de cognito  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

## Ejemplos
<a name="sam-property-api-cognitoauthorizer--examples"></a>

### CognitoAuth
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth"></a>

Ejemplo de autorización de Cognito

#### YAML
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers:
    MyCognitoAuth:
      AuthorizationScopes:
        - scope1
        - scope2
      UserPoolArn:
        Fn::GetAtt:
          - MyCognitoUserPool
          - Arn
      Identity:
        Header: MyAuthorizationHeader
        ValidationExpression: myauthvalidationexpression
```

# CognitoAuthorizationIdentity
<a name="sam-property-api-cognitoauthorizationidentity"></a>

Esta propiedad se puede usar para especificar una IdentitySource solicitud entrante de un autorizador. Para obtener más información, IdentitySource consulte la extensión [ApiGateway Authorizer OpenApi ](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Sintaxis
<a name="sam-property-api-cognitoauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-cognitoauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-cognitoauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-cognitoauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-cognitoauthorizationidentity-validationexpression): String
```

## Propiedades
<a name="sam-property-api-cognitoauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-cognitoauthorizationidentity-header"></a>
Especifique el nombre del encabezado de la autorización en la OpenApi definición.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: Autorización  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ReauthorizeEvery`   <a name="sam-api-cognitoauthorizationidentity-reauthorizeevery"></a>
El período time-to-live (TTL), en segundos, que especifica cuánto tiempo API Gateway almacena en caché los resultados del autorizador. Si especificas un valor mayor que 0, API Gateway almacena en caché las respuestas del autorizador. De forma predeterminada, API Gateway establece esta propiedad en 300. El valor máximo es 3600 o 1 hora.  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado*: 300  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `ValidationExpression`   <a name="sam-api-cognitoauthorizationidentity-validationexpression"></a>
Especifica una expresión de validación para la identidad de entrada.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-cognitoauthorizationidentity--examples"></a>

### CognitoAuthIdentity
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity"></a>

#### YAML
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```

# LambdaRequestAuthorizer
<a name="sam-property-api-lambdarequestauthorizer"></a>

Configura una función de Lambda para controlar el acceso a una API con una función de Lambda.

Para obtener más información y ejemplos, consulta [Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md).

## Sintaxis
<a name="sam-property-api-lambdarequestauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdarequestauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdarequestauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdarequestauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdarequestauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdarequestauthorizer-identity): LambdaRequestAuthorizationIdentity
```

## Propiedades
<a name="sam-property-api-lambdarequestauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdarequestauthorizer-disablefunctiondefaultpermissions"></a>
Especifique si `true` desea AWS SAM evitar que se cree automáticamente un `AWS::Lambda::Permissions` recurso para aprovisionar permisos entre el `AWS::Serverless::Api` recurso y la función Lambda autorizadora.  
*Valor predeterminado:* `false`  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionArn`   <a name="sam-api-lambdarequestauthorizer-functionarn"></a>
Especifica el ARN de la función de Lambda que proporciona la autorización para la API.  
AWS SAM creará automáticamente un `AWS::Lambda::Permissions` recurso cuando `FunctionArn` se especifique para`AWS::Serverless::Api`. El recurso `AWS::Lambda::Permissions` proporciona permisos entre la API y la función autorizador de Lambda.
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionInvokeRole`   <a name="sam-api-lambdarequestauthorizer-functioninvokerole"></a>
Añade las credenciales del autorizador a la OpenApi definición del autorizador Lambda.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

 `FunctionPayloadType`   <a name="sam-api-lambdarequestauthorizer-functionpayloadtype"></a>
Esta propiedad se puede utilizar para definir el tipo de autorizador Lambda para una API.  
*Valores válidos*: `TOKEN` o `REQUEST`  
*Tipo*: cadena  
*Obligatorio*: no  
*Valor predeterminado*: `TOKEN`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Identity`   <a name="sam-api-lambdarequestauthorizer-identity"></a>
Esta propiedad se puede usar para especificar una solicitud `IdentitySource` entrante de un autorizador. Esta propiedad solo es necesaria si la propiedad `FunctionPayloadType` está establecida en `REQUEST`.  
*Tipo:* [LambdaRequestAuthorizationIdentity](sam-property-api-lambdarequestauthorizationidentity.md)  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-lambdarequestauthorizer--examples"></a>

### LambdaRequestAuth
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth--yaml"></a>

```
Authorizers:
  MyLambdaRequestAuth:
    FunctionPayloadType: REQUEST
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    FunctionInvokeRole:
      Fn::GetAtt:
        - LambdaAuthInvokeRole
        - Arn
    Identity:
      Headers:
        - Authorization1
```

# LambdaRequestAuthorizationIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity"></a>

Esta propiedad se puede usar para especificar una IdentitySource solicitud entrante de un autorizador. Para obtener más información, IdentitySource consulte la extensión [ApiGateway Authorizer OpenApi ](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Sintaxis
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-api-lambdarequestauthorizationidentity-context): List
  [Headers](#sam-api-lambdarequestauthorizationidentity-headers): List
  [QueryStrings](#sam-api-lambdarequestauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-api-lambdarequestauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-api-lambdarequestauthorizationidentity-stagevariables): List
```

## Propiedades
<a name="sam-property-api-lambdarequestauthorizationidentity-properties"></a>

 `Context`   <a name="sam-api-lambdarequestauthorizationidentity-context"></a>
Convierte las cadenas de contexto dadas en las expresiones de mapeo de formato `context.contextString`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Headers`   <a name="sam-api-lambdarequestauthorizationidentity-headers"></a>
Convierte los encabezados en una cadena de expresiones de mapeo de formato `method.request.header.name` separadas por comas.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `QueryStrings`   <a name="sam-api-lambdarequestauthorizationidentity-querystrings"></a>
Convierte las cadenas de consulta dadas en cadenas de expresiones de asignación con un formato `method.request.querystring.queryString` separadas por comas.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ReauthorizeEvery`   <a name="sam-api-lambdarequestauthorizationidentity-reauthorizeevery"></a>
El período time-to-live (TTL), en segundos, que especifica cuánto tiempo API Gateway almacena en caché los resultados del autorizador. Si especificas un valor mayor que 0, API Gateway almacena en caché las respuestas del autorizador. De forma predeterminada, API Gateway establece esta propiedad en 300. El valor máximo es 3600 o 1 hora.  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado*: 300  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `StageVariables`   <a name="sam-api-lambdarequestauthorizationidentity-stagevariables"></a>
Convierte las variables de etapa dadas en cadenas de expresiones de asignación con un formato `stageVariables.stageVariable` separadas por comas.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-lambdarequestauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# LambdaTokenAuthorizer
<a name="sam-property-api-lambdatokenauthorizer"></a>

Configura una función de Lambda para controlar el acceso a una API con una función de Lambda.

Para obtener más información y ejemplos, consulta [Controla el acceso a la API con tu AWS SAM plantilla](serverless-controlling-access-to-apis.md).

## Sintaxis
<a name="sam-property-api-lambdatokenauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdatokenauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdatokenauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdatokenauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdatokenauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdatokenauthorizer-identity): LambdaTokenAuthorizationIdentity
```

## Propiedades
<a name="sam-property-api-lambdatokenauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdatokenauthorizer-disablefunctiondefaultpermissions"></a>
Especifique si `true` desea AWS SAM evitar que se cree automáticamente un `AWS::Lambda::Permissions` recurso para aprovisionar permisos entre el `AWS::Serverless::Api` recurso y la función Lambda autorizadora.  
*Valor predeterminado:* `false`  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionArn`   <a name="sam-api-lambdatokenauthorizer-functionarn"></a>
Especifica el ARN de la función de Lambda que proporciona la autorización para la API.  
AWS SAM creará automáticamente un `AWS::Lambda::Permissions` recurso cuando `FunctionArn` se especifique para`AWS::Serverless::Api`. El recurso `AWS::Lambda::Permissions` proporciona permisos entre la API y la función autorizador de Lambda.
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionInvokeRole`   <a name="sam-api-lambdatokenauthorizer-functioninvokerole"></a>
Añade las credenciales del autorizador a la OpenApi definición del autorizador Lambda.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

 `FunctionPayloadType`   <a name="sam-api-lambdatokenauthorizer-functionpayloadtype"></a>
Esta propiedad se puede utilizar para definir el tipo de autorizador Lambda para una API.  
*Valores válidos*: `TOKEN` o `REQUEST`  
*Tipo*: cadena  
*Obligatorio*: no  
*Valor predeterminado*: `TOKEN`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Identity`   <a name="sam-api-lambdatokenauthorizer-identity"></a>
Esta propiedad se puede usar para especificar una solicitud `IdentitySource` entrante de un autorizador. Esta propiedad solo es necesaria si la propiedad `FunctionPayloadType` está establecida en `REQUEST`.  
*Tipo:* [LambdaTokenAuthorizationIdentity](sam-property-api-lambdatokenauthorizationidentity.md)  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-lambdatokenauthorizer--examples"></a>

### LambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    Identity:
      Header: MyCustomAuthHeader # OPTIONAL; Default: 'Authorization'
      ValidationExpression: mycustomauthexpression # OPTIONAL
      ReauthorizeEvery: 20 # OPTIONAL; Service Default: 300
```

### BasicLambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
```

# LambdaTokenAuthorizationIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity"></a>

Esta propiedad se puede usar para especificar una IdentitySource solicitud entrante de un autorizador. Para obtener más información, IdentitySource consulte la extensión [ApiGateway Authorizer OpenApi ](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Sintaxis
<a name="sam-property-api-lambdatokenauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-lambdatokenauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-lambdatokenauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-lambdatokenauthorizationidentity-validationexpression): String
```

## Propiedades
<a name="sam-property-api-lambdatokenauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-lambdatokenauthorizationidentity-header"></a>
Especifique el nombre del encabezado de la autorización en la OpenApi definición.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: Autorización  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ReauthorizeEvery`   <a name="sam-api-lambdatokenauthorizationidentity-reauthorizeevery"></a>
El período time-to-live (TTL), en segundos, que especifica cuánto tiempo API Gateway almacena en caché los resultados del autorizador. Si especificas un valor mayor que 0, API Gateway almacena en caché las respuestas del autorizador. De forma predeterminada, API Gateway establece esta propiedad en 300. El valor máximo es 3600 o 1 hora.  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado*: 300  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `ValidationExpression`   <a name="sam-api-lambdatokenauthorizationidentity-validationexpression"></a>
Especifica una expresión de validación para validar la identidad entrante.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-lambdatokenauthorizationidentity--examples"></a>

### LambdaTokenIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```

# ResourcePolicyStatement
<a name="sam-property-api-resourcepolicystatement"></a>

Configura una política de recursos para todos los métodos y rutas de una API. Para obtener más información sobre las políticas de recursos, consulta [Controlar el acceso a una API con las políticas de recursos de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-api-resourcepolicystatement-syntax"></a>

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

### YAML
<a name="sam-property-api-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-api-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-api-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-api-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-api-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-api-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-api-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-api-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-api-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-api-resourcepolicystatement-sourcevpcwhitelist): List
```

## Propiedades
<a name="sam-property-api-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-api-resourcepolicystatement-awsaccountblacklist"></a>
Las AWS cuentas que se van a bloquear.  
*Tipo*: lista de cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `AwsAccountWhitelist`   <a name="sam-api-resourcepolicystatement-awsaccountwhitelist"></a>
Las AWS cuentas que se van a permitir. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista de cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `CustomStatements`   <a name="sam-api-resourcepolicystatement-customstatements"></a>
Una lista de instrucciones de política de recursos personalizadas para aplicarlas a esta API. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpcBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcblacklist"></a>
La lista de nubes privadas virtuales (VPCs) que se van a bloquear, en la que cada VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la función `Ref` [intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpcWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La lista de VPCs permitidos, donde cada VPC se especifica como una referencia, como una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la función `Ref` [intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpceBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpceblacklist"></a>
La lista de puntos de conexión de VPC que se van a bloquear, donde cada punto de conexión de VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la [función intrínseca `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpceWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcewhitelist"></a>
La lista de nubes privadas virtuales (VPC) permitidas, donde cada punto de conexión de VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la [función intrínseca `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IpRangeBlacklist`   <a name="sam-api-resourcepolicystatement-iprangeblacklist"></a>
Las direcciones IP o los rangos de direcciones que se van a bloquear. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IpRangeWhitelist`   <a name="sam-api-resourcepolicystatement-iprangewhitelist"></a>
Las direcciones IP o los rangos de direcciones que se van a permitir.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceVpcBlacklist`   <a name="sam-api-resourcepolicystatement-sourcevpcblacklist"></a>
La VPC de origen o los puntos de conexión de VPC que se van a bloquear. Los nombres de la VPC de origen deben empezar por `"vpc-"` y los nombres de los puntos de conexión de VPC de origen deben empezar por `"vpce-"`. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceVpcWhitelist`   <a name="sam-api-resourcepolicystatement-sourcevpcwhitelist"></a>
La VPC de origen o los puntos de conexión de VPC que se van a permitir. Los nombres de la VPC de origen deben empezar por `"vpc-"` y los nombres de los puntos de conexión de VPC de origen deben empezar por `"vpce-"`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-resourcepolicystatement--examples"></a>

### Ejemplo de política de recursos
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example"></a>

El siguiente ejemplo bloquea dos direcciones IP y una VPC de origen y permite una AWS cuenta.

#### YAML
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# ApiDefinition
<a name="sam-property-api-apidefinition"></a>

Un documento de OpenAPI que define la API.

## Sintaxis
<a name="sam-property-api-apidefinition-syntax"></a>

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

### YAML
<a name="sam-property-api-apidefinition-syntax.yaml"></a>

```
  [Bucket](#sam-api-apidefinition-bucket): String
  [Key](#sam-api-apidefinition-key): String
  [Version](#sam-api-apidefinition-version): String
```

## Propiedades
<a name="sam-property-api-apidefinition-properties"></a>

 `Bucket`   <a name="sam-api-apidefinition-bucket"></a>
Nombre del bucket de Amazon S3 donde se almacena el archivo OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket)` propiedad del tipo de `AWS::ApiGateway::RestApi` `S3Location` datos.

 `Key`   <a name="sam-api-apidefinition-key"></a>
La clave de Amazon S3 del archivo de OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key)` propiedad del tipo de `AWS::ApiGateway::RestApi` `S3Location` datos.

 `Version`   <a name="sam-api-apidefinition-version"></a>
Para objetos con control de versiones, la versión del archivo de OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version)` propiedad del tipo de `AWS::ApiGateway::RestApi` `S3Location` datos.

## Ejemplos
<a name="sam-property-api-apidefinition--examples"></a>

### Ejemplo de definición de Uri
<a name="sam-property-api-apidefinition--examples--definition-uri-example"></a>

Ejemplo de definición de API

#### YAML
<a name="sam-property-api-apidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# CorsConfiguration
<a name="sam-property-api-corsconfiguration"></a>

Gestione el intercambio de recursos entre orígenes (CORS) para su API Gateway. APIs Especifica el dominio que quieres permitir como cadena o especifica un diccionario con una configuración de Cors adicional.

**nota**  
CORS requiere modificar AWS SAM la definición de OpenAPI. Cree una definición de OpenAPI en línea en `DefinitionBody` para activar CORS. Si `CorsConfiguration` está establecido en la definición de OpenAPI y también en el nivel de propiedad, los AWS SAM fusiona. El nivel de propiedad tiene prioridad sobre la definición de OpenAPI.

Para obtener más información sobre CORS, consulta [Habilitar CORS para un recurso de la API de REST de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-api-corsconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-api-corsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-api-corsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-api-corsconfiguration-allowheaders): String
  [AllowMethods](#sam-api-corsconfiguration-allowmethods): String
  [AllowOrigin](#sam-api-corsconfiguration-alloworigin): String
  [MaxAge](#sam-api-corsconfiguration-maxage): String
```

## Propiedades
<a name="sam-property-api-corsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
Un valor booleano que indica si se permite que la solicitud contenga credenciales.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
Cadena de encabezados que se van a permitir.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
Cadena que contiene los métodos HTTP que se van a permitir.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
Cadena de origen que se va a permitir. Puede ser una lista separada por comas en formato de cadena.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
Cadena que contiene el número de segundos necesarios para almacenar en caché la solicitud CORS Preflight.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-api-corsconfiguration--examples"></a>

### CorsConfiguration
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration"></a>

Ejemplo de configuración de CORS. Esta es solo una parte de un archivo de AWS SAM plantilla que muestra una [AWS::Serverless::Api](sam-resource-api.md) definición con CORS configurado y un[AWS::Serverless::Function](sam-resource-function.md). Si utiliza una integración de proxy de Lambda o una integración de proxy HTTP, el backend debe devolver los encabezados `Access-Control-Allow-Origin`, `Access-Control-Allow-Methods` y `Access-Control-Allow-Headers`.

#### YAML
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors:
        AllowMethods: "'POST, GET'"
        AllowHeaders: "'X-Forwarded-For'"
        AllowOrigin: "'https://example.com'"
        MaxAge: "'600'"
        AllowCredentials: true
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        import json
        def handler(event, context):
          return {
          'statusCode': 200,
          'headers': {
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': 'https://example.com',
            'Access-Control-Allow-Methods': 'POST, GET'
            },
          'body': json.dumps('Hello from Lambda!')
          }
```

# DomainConfiguration
<a name="sam-property-api-domainconfiguration"></a>

Configura un dominio personalizado para una API.

## Sintaxis
<a name="sam-property-api-domainconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-api-domainconfiguration-syntax.yaml"></a>

```
  [AccessAssociation](#sam-api-domainconfiguration-domainaccessassociation): DomainAccessAssociation
  [BasePath](#sam-api-domainconfiguration-basepath): List
  [CertificateArn](#sam-api-domainconfiguration-certificatearn): String
  [DomainName](#sam-api-domainconfiguration-domainname): String
  [EndpointConfiguration](#sam-api-domainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-api-domainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)
  [NormalizeBasePath](#sam-api-domainconfiguration-normalizebasepath): Boolean
  [OwnershipVerificationCertificateArn](#sam-api-domainconfiguration-ownershipverificationcertificatearn): String
  [Policy: ](#sam-api-domainconfiguration-policy)Json
  [Route53](#sam-api-domainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-api-domainconfiguration-securitypolicy): String
```

## Propiedades
<a name="sam-property-api-domainconfiguration-properties"></a>

 `AccessAssociation`   <a name="sam-api-domainconfiguration-domainaccessassociation"></a>
La configuración necesaria para generar el recurso de ` AWS::ApiGateway::DomainNameAccessAssociation`.  
AWS SAM genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html)recurso cuando se establece esta propiedad. Para obtener información sobre CloudFormation los recursos generados, consulte[CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).  
*Tipo:* [DomainAccessAssociation](sam-property-api-domainaccessassociation.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `BasePath`   <a name="sam-api-domainconfiguration-basepath"></a>
Una lista de las rutas base que se deben configurar con el nombre de dominio de Amazon API Gateway.  
*Tipo*: lista  
*Obligatorio*: no  
*Valor predeterminado*: /  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[BasePath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath)` propiedad de un `AWS::ApiGateway::BasePathMapping` recurso. AWS SAM crea varios `AWS::ApiGateway::BasePathMapping` recursos, uno por cada uno de los `BasePath` especificados en esta propiedad.

 `CertificateArn`   <a name="sam-api-domainconfiguration-certificatearn"></a>
El nombre de recurso de Amazon (ARN) de un certificado AWS administrado del punto final de este nombre de dominio. AWS Certificate Manager es la única fuente compatible.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)` propiedad de un `AWS::ApiGateway::DomainName` recurso. Si `EndpointConfiguration` se establece en `REGIONAL` (el valor predeterminado), se `CertificateArn` asigna a [RegionalCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn)in`AWS::ApiGateway::DomainName`. Si `EndpointConfiguration` está establecido en`EDGE`, se `CertificateArn` asigna a [CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)dentro`AWS::ApiGateway::DomainName`. Si `EndpointConfiguration` se establece en`PRIVATE`, esta propiedad se pasa al recurso [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2).  
*Notas adicionales*: Para un `EDGE` punto final, debe crear el certificado en la `us-east-1` AWS región.

 `DomainName`   <a name="sam-api-domainconfiguration-domainname"></a>
El nombre de dominio personalizado para su API de API Gateway. No se admiten letras mayúsculas.  
AWS SAM genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html)recurso cuando se establece esta propiedad. Para obtener información acerca de esta situación, consulta [DomainName se especifica la propiedad](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-domain-name). Para obtener información sobre CloudFormation los recursos generados, consulte[CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname)` propiedad de un `AWS::ApiGateway::DomainName` recurso o [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2)cuando EndpointConfiguration se establece en`PRIVATE`.

 `EndpointConfiguration`   <a name="sam-api-domainconfiguration-endpointconfiguration"></a>
Define el tipo de punto de conexión de API Gateway que se va a asignar al dominio personalizado. El valor de esta propiedad determina cómo se mapea la `CertificateArn` propiedad. CloudFormation  
*Valores válidos*: `EDGE`, `REGIONAL` o `PRIVATE`  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: `REGIONAL`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `MutualTlsAuthentication`   <a name="sam-api-domainconfiguration-mutualtlsauthentication"></a>
La configuración de autenticación mutua de seguridad de la capa de transporte (TLS) para un nombre de dominio personalizado.  
*Tipo:* [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)` propiedad de un `AWS::ApiGateway::DomainName` recurso.

 `NormalizeBasePath`   <a name="sam-api-domainconfiguration-normalizebasepath"></a>
Indica si se permiten caracteres no alfanuméricos en las rutas base definidas por la propiedad de `BasePath`. Si se establece en `True`, los caracteres no alfanuméricos se eliminan de las rutas base.  
Usa `NormalizeBasePath` con la propiedad de `BasePath`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: True  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `OwnershipVerificationCertificateArn`   <a name="sam-api-domainconfiguration-ownershipverificationcertificatearn"></a>
El ARN del certificado público emitido por ACM para validar la propiedad de su dominio personalizado. Solo se requiere cuando se configura TLS mutua y se especifica un ARN de certificado de CA privado o importado de ACM para `CertificateArn`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn)` propiedad de un `AWS::ApiGateway::DomainName` recurso.

 `Policy`   <a name="sam-api-domainconfiguration-policy"></a>
La política de IAM que se va a asociar al nombre de dominio de API Gateway. Solo es aplicable cuando `EndpointConfiguration` se establece en `PRIVATE`.  
*Tipo*: Json  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `Policy` propiedad de un `AWS::ApiGateway::DomainNameV2` recurso cuando `EndpointConfiguration` se establece en`PRIVATE`. Para ver ejemplos de documentos de política válidos, consulte la [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2).

 `Route53`   <a name="sam-api-domainconfiguration-route53"></a>
Define una configuración de Amazon Route 53.  
*Tipo*: [Route53Configuration](sam-property-api-route53configuration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SecurityPolicy`   <a name="sam-api-domainconfiguration-securitypolicy"></a>
La versión de TLS más conjunto de cifrado para este nombre de dominio.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy)` propiedad de un `AWS::ApiGateway::DomainName` recurso o [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2)cuando `EndpointConfiguration` se establece en`PRIVATE`. En los puntos de conexión de `PRIVATE`, solo TLS\$11\$12 es compatible.

## Ejemplos
<a name="sam-property-api-domainconfiguration--examples"></a>

### DomainName
<a name="sam-property-api-domainconfiguration--examples--domainname"></a>

DomainName ejemplo

#### YAML
<a name="sam-property-api-domainconfiguration--examples--domainname--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# DomainAccessAssociation
<a name="sam-property-api-domainaccessassociation"></a>

Configura una asociación de acceso al dominio entre un origen de asociación de acceso y un nombre de dominio personalizado privado. El único origen de asociación de acceso admitido es un ID de punto de conexión de VPC. Para obtener más información, consulte [Nombres de dominio personalizados para uso privado APIs en API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html).

## Sintaxis
<a name="sam-property-api-domainaccessassociation-syntax"></a>

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

### YAML
<a name="sam-property-api-domainaccessassociation-syntax.yaml"></a>

```
 VpcEndpointId: String
```

## Propiedades
<a name="sam-property-api-domainaccessassociation-properties"></a>

 `VpcEndpointId`   <a name="sam-api-domainaccessassociation-vpcendpointid"></a>
El ID de punto de conexión del punto de conexión de interfaz de VPC asociado al servicio de VPC de API Gateway.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ AccessAssociationSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource)` propiedad de un `AWS::ApiGateway::DomainNameAccessAssociation` recurso.

# Route53Configuration
<a name="sam-property-api-route53configuration"></a>

Configura los conjuntos de registros de Route53 para una API.

## Sintaxis
<a name="sam-property-api-route53configuration-syntax"></a>

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

### YAML
<a name="sam-property-api-route53configuration-syntax.yaml"></a>

```
  [DistributionDomainName](#sam-api-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-api-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-api-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-api-route53configuration-hostedzonename): String
  [IpV6](#sam-api-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
  VpcEndpointDomainName: String
  VpcEndpointHostedZoneId: String
```

## Propiedades
<a name="sam-property-api-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-api-route53configuration-distributiondomainname"></a>
Configura una distribución personalizada del nombre de dominio personalizado de la API.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: utilice la distribución de API Gateway.  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` propiedad de un `AWS::Route53::RecordSetGroup AliasTarget` recurso.  
*Notas adicionales*: El nombre de dominio de una [CloudFrontdistribución](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html).

 `EvaluateTargetHealth`   <a name="sam-api-route53configuration-evaluatetargethealth"></a>
Si EvaluateTargetHealth es verdadero, un registro de alias hereda el estado del AWS recurso al que se hace referencia, como un balanceador de cargas de Elastic Load Balancing u otro registro de la zona alojada.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` propiedad de un `AWS::Route53::RecordSetGroup AliasTarget` recurso.  
*Notas adicionales*: No se puede EvaluateTargetHealth establecer en true cuando el alias objetivo es una CloudFront distribución.

 `HostedZoneId`   <a name="sam-api-route53configuration-hostedzoneid"></a>
ID de la zona alojada en la que desea crear registros.  
Especifica `HostedZoneName` o `HostedZoneId`, pero no ambos. Si tiene múltiples zonas hospedadas con el mismo nombre de dominio, debe especificar la zona hospedada mediante `HostedZoneId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` propiedad de un `AWS::Route53::RecordSetGroup RecordSet` recurso.

 `HostedZoneName`   <a name="sam-api-route53configuration-hostedzonename"></a>
El nombre de la zona alojada en la que desea crear registros.  
Especifica `HostedZoneName` o `HostedZoneId`, pero no ambos. Si tiene múltiples zonas hospedadas con el mismo nombre de dominio, debe especificar la zona hospedada mediante `HostedZoneId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` propiedad de un `AWS::Route53::RecordSetGroup RecordSet` recurso.

 `IpV6`   <a name="sam-api-route53configuration-ipv6"></a>
Cuando se establece esta propiedad, AWS SAM crea un `AWS::Route53::RecordSet` recurso y establece [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) en `AAAA` el valor proporcionado HostedZone.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

`Region`  <a name="sam-api-route53configuration-region"></a>
*Solo conjuntos de registros de recursos basados en la latencia: la* EC2 región de Amazon en la que creó el recurso al que hace referencia este conjunto de registros de recursos. El recurso suele ser un AWS recurso, como una EC2 instancia o un balanceador de cargas ELB, y se hace referencia a él mediante una dirección IP o un nombre de dominio DNS, según el tipo de registro.  
Cuando Amazon Route 53 recibe una consulta de DNS para un nombre y un tipo de dominio para los que ha creado conjuntos de registros de recursos de latencia, Route 53 selecciona el conjunto de registros de recursos de latencia que tiene la latencia más baja entre el usuario final y la EC2 región de Amazon asociada. Route 53 devuelve a continuación el valor asociado con el conjunto de registros de recursos seleccionados.  
Tenga en cuenta lo siguiente:  
+ Solo puede especificar un `ResourceRecord` por conjunto de registros de recursos de latencia.
+ Solo puedes crear un conjunto de registros de recursos de latencia para cada EC2 región de Amazon.
+ No es necesario que crees conjuntos de registros de recursos de latencia para todas las EC2 regiones de Amazon. Route 53 elige la región con la mejor latencia entre las regiones para las que crea conjuntos de registros de recursos de latencia.
+ No puede crear conjuntos de registros de recursos sin latencia que tengan los mismos valores `Name` y `Type` que los conjuntos de registros de recursos de latencia.
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` propiedad de un tipo de `AWS::Route53::RecordSetGroup` `RecordSet` datos.

`SetIdentifier`  <a name="sam-api-route53configuration-setidentifier"></a>
*Conjuntos de registros de recursos que tienen una política de direccionamiento que no es simple:* Un identificador que diferencia entre varios conjuntos de registros de recursos con la misma combinación de nombre y tipo, como varios conjuntos de registros de recursos ponderados denominados acme.example.com de tipo A. En un grupo de conjuntos de registros de recursos que tengan el mismo nombre y tipo, el valor de `SetIdentifier` debe ser exclusivo para cada conjunto de registros de recursos.  
Para obtener información sobre cómo dirigir las políticas, consulta [Elección de una política de direccionamiento](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) en la *Guía para desarrolladores de Amazon Route 53*.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` propiedad de un tipo de `AWS::Route53::RecordSetGroup` `RecordSet` datos.

`VpcEndpointDomainName`  <a name="sam-api-route53configuration-vpcendpointdomainname"></a>
Un nombre de DNS del punto de enlace de la interfaz de VPC asociado al servicio de VPC de API Gateway. Esta propiedad solo es obligatoria para los dominios privados.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` propiedad de un `AWS::Route53::RecordSet` `AliasTarget` campo.

`VpcEndpointHostedZoneId`  <a name="sam-api-route53configuration-vpcendpointhostedzoneid"></a>
El ID de zona alojada del punto de conexión de la interfaz de VPC asociado al servicio de VPC de API Gateway. Esta propiedad solo es obligatoria para los dominios privados.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` propiedad de un `AWS::Route53::RecordSet` `AliasTarget` campo.

## Ejemplos
<a name="sam-property-api-route53configuration--examples"></a>

### Ejemplo básico
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example"></a>

En este ejemplo, configuramos un dominio personalizado y conjuntos de registros de Route 53 para nuestra API.

#### YAML
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Domain:
        DomainName: www.example.com
        CertificateArn: arn:aws:acm:us-east-1:123456789012:certificate/abcdef12-3456-7890-abcd-ef1234567890
        EndpointConfiguration: REGIONAL
        Route53:
          HostedZoneId: ABCDEFGHIJKLMNOP
```

# EndpointConfiguration
<a name="sam-property-api-endpointconfiguration"></a>

El tipo de punto de conexión de una API de REST.

## Sintaxis
<a name="sam-property-api-endpointconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-api-endpointconfiguration-syntax.yaml"></a>

```
  [IpAddressType](#sam-api-endpointconfiguration-ipaddresstype): String
  [Type](#sam-api-endpointconfiguration-type): String
  [VPCEndpointIds](#sam-api-endpointconfiguration-vpcendpointids): List
```

## Propiedades
<a name="sam-property-api-endpointconfiguration-properties"></a>

 `IpAddressType`   <a name="sam-api-endpointconfiguration-ipaddresstype"></a>
Los tipos de direcciones IP que pueden invocar una API (RestApi).  
*Valores válidos*: `ipv4` o `dualstack`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[IpAddressType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-ipaddresstype)` propiedad del tipo de `AWS::ApiGateway::RestApi` `EndpointConfiguration` datos.

 `Type`   <a name="sam-api-endpointconfiguration-type"></a>
El tipo de punto de conexión de una API de REST.  
*Valores válidos*: `EDGE`, `REGIONAL` o `PRIVATE`  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Types](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types)` propiedad del tipo de `AWS::ApiGateway::RestApi` `EndpointConfiguration` datos.

 `VPCEndpointIds`   <a name="sam-api-endpointconfiguration-vpcendpointids"></a>
Una lista de los puntos finales de VPC IDs de una API REST con los que crear los alias de Route53.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[VpcEndpointIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids)` propiedad del tipo de datos. `AWS::ApiGateway::RestApi` `EndpointConfiguration`

## Ejemplos
<a name="sam-property-api-endpointconfiguration--examples"></a>

### EndpointConfiguration
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration"></a>

Ejemplo de configuraciones de punto de conexión.

#### YAML
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration--yaml"></a>

```
EndpointConfiguration:
  Type: PRIVATE
  VPCEndpointIds:
    - vpce-123a123a
    - vpce-321a321a
```

# AWS::Serverless::Application
<a name="sam-resource-application"></a>

Integrar una aplicación sin servidor desde [AWS Serverless Application Repository](https://serverlessrepo.aws.amazon.com/applications) o desde un bucket de Amazon S3 como una aplicación anidada. Las aplicaciones anidadas se implementasn como recursos anidados [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html), que pueden contener varios otros recursos, incluidos otros recursos [AWS::Serverless::Application](#sam-resource-application).

**nota**  
Cuando despliega en AWS CloudFormation, AWS SAM transforma sus AWS SAM 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-application-syntax"></a>

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

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

```
Type: AWS::Serverless::Application
Properties:
  [Location](#sam-application-location): String | ApplicationLocationObject
  [NotificationARNs](#sam-application-notificationarns): List
  [Parameters](#sam-application-parameters): Map
  [Tags](#sam-application-tags): Map
  [TimeoutInMinutes](#sam-application-timeoutinminutes): Integer
```

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

 `Location`   <a name="sam-application-location"></a>
URL de plantilla, ruta de archivo o objeto de ubicación de una aplicación anidada.  
Si se proporciona una URL de plantilla, debe seguir el formato especificado en la [CloudFormation TemplateUrl documentación](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl) y contener una plantilla SAM CloudFormation o válida. [ApplicationLocationObject](sam-property-application-applicationlocationobject.md) se puede utilizar para especificar una aplicación que se ha publicado en [AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/what-is-serverlessrepo.html)  
Si se proporciona una ruta de archivo local, la plantilla debe seguir el flujo de trabajo que incluye el `sam package` o el comando `sam deploy` para que la aplicación se transforme correctamente.  
*Tipo*: Cadena \$1 [ApplicationLocationObject](sam-property-application-applicationlocationobject.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[TemplateURL](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl)` propiedad de un `AWS::CloudFormation::Stack` recurso. La CloudFormation versión no tarda en [ApplicationLocationObject](sam-property-application-applicationlocationobject.md) recuperar una aplicación del AWS Serverless Application Repository.

 `NotificationARNs`   <a name="sam-application-notificationarns"></a>
Una lista de temas de Amazon SNS, a la que se envían notificaciones sobre eventos de la pila.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[NotificationARNs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-notificationarns)` propiedad de un `AWS::CloudFormation::Stack` recurso.

 `Parameters`   <a name="sam-application-parameters"></a>
Valores de los parámetros de aplicación.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Parameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-parameters)` propiedad de un `AWS::CloudFormation::Stack` recurso.

 `Tags`   <a name="sam-application-tags"></a>
Un mapa (cadena a cadena) que especifica las etiquetas agregadas a esta aplicación. Los valores y claves están limitados a caracteres alfanuméricos. Las claves pueden tener de 1 a 127 caracteres Unicode y no pueden ir precedidas de aws: Los valores pueden tener de 1 a 255 caracteres Unicode.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-tags)` propiedad de un `AWS::CloudFormation::Stack` recurso. La propiedad Tags de SAM consta de pares clave-valor; en CloudFormation ella, consiste en una lista de objetos Tag. Cuando se crea la pila, SAM añadirá automáticamente una etiqueta `lambda:createdBy:SAM` a esta aplicación. Además, si esta aplicación es de AWS Serverless Application Repository, SAM también almacenará automáticamente las dos etiquetas `serverlessrepo:applicationId:ApplicationId` adicionales y. `serverlessrepo:semanticVersion:SemanticVersion`

 `TimeoutInMinutes`   <a name="sam-application-timeoutinminutes"></a>
El tiempo, en minutos, que se CloudFormation espera a que la pila anidada alcance el `CREATE_COMPLETE` estado. El valor predeterminado es sin tiempo de espera. Cuando CloudFormation detecta que la pila anidada ha alcanzado el `CREATE_COMPLETE` estado, marca el recurso de la pila anidada como si estuviera `CREATE_COMPLETE` en la pila principal y reanudará la creación de la pila principal. Si el tiempo de espera expira antes de que llegue la pila anidada`CREATE_COMPLETE`, CloudFormation marca la pila anidada como fallida y revierte tanto la pila anidada como la pila principal.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[TimeoutInMinutes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-timeoutinminutes)` propiedad de un recurso. `AWS::CloudFormation::Stack`

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

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

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

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-application-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 *. 

`Outputs.ApplicationOutputName`  <a name="Outputs.ApplicationOutputName-fn::getatt"></a>
El valor de la salida de la pila con su nombre `ApplicationOutputName`.

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

### Aplicaciones SAR
<a name="sam-resource-application--examples--sar-application"></a>

Aplicación que usa una plantilla del Serverless Application Repository

#### YAML
<a name="sam-resource-application--examples--sar-application--yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  Location:
    ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application'
    SemanticVersion: 1.0.0
  Parameters:
    StringParameter: parameter-value
    IntegerParameter: 2
```

### Aplicación normal
<a name="sam-resource-application--examples--normal-application"></a>

Aplicación desde una URL de S3

#### YAML
<a name="sam-resource-application--examples--normal-application--yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  Location: https://s3.amazonaws.com/sam-s3-demo-bucket/template.yaml
```

# ApplicationLocationObject
<a name="sam-property-application-applicationlocationobject"></a>

Una solicitud que se ha publicado en [AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/what-is-serverlessrepo.html).

## Sintaxis
<a name="sam-property-application-applicationlocationobject-syntax"></a>

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

### YAML
<a name="sam-property-application-applicationlocationobject-syntax.yaml"></a>

```
  [ApplicationId](#sam-application-applicationlocationobject-applicationid): String
  [SemanticVersion](#sam-application-applicationlocationobject-semanticversion): String
```

## Propiedades
<a name="sam-property-application-applicationlocationobject-properties"></a>

 `ApplicationId`   <a name="sam-application-applicationlocationobject-applicationid"></a>
El nombre de recurso de Amazon (ARN) de la aplicación.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SemanticVersion`   <a name="sam-application-applicationlocationobject-semanticversion"></a>
La versión semántica de la aplicación.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-application-applicationlocationobject--examples"></a>

### my-application
<a name="sam-property-application-applicationlocationobject--examples--my-application"></a>

Ejemplo de aplicación de ubicación de un objeto

#### YAML
<a name="sam-property-application-applicationlocationobject--examples--my-application--yaml"></a>

```
Location:
  ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application'
  SemanticVersion: 1.0.0
```

# AWS::Serverless::CapacityProvider
<a name="sam-resource-capacityprovider"></a>

 Crea un proveedor de capacidad para AWS Lambda funciones que permite ejecutar instancias gestionadas por Lambda en instancias de Amazon Elastic Compute Cloud propiedad del cliente. Este recurso forma parte de la función de instancias gestionadas por Lambda, que optimiza los costes de las cargas de trabajo de Lambda a gran escala mediante el uso de los modelos de precios de Amazon. EC2 

 El proveedor de capacidad gestiona el ciclo de vida de las EC2 instancias de Amazon y proporciona la infraestructura necesaria para que las funciones de Lambda se ejecuten en los recursos informáticos propiedad del cliente, manteniendo al mismo tiempo el modelo de programación sin servidor. 

**nota**  
Cuando las implementa AWS CloudFormation, AWS SAM transforma sus AWS SAM recursos en recursos. CloudFormation Para obtener más información, consulte [CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md). 

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

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

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

```
Type: AWS::Serverless::CapacityProvider
Properties:
  [CapacityProviderName](#sam-capacityprovider-capacityprovidername): String
  [VpcConfig](#sam-capacityprovider-vpcconfig): VpcConfig
  [OperatorRole](#sam-capacityprovider-operatorrole): String
  [Tags](#sam-capacityprovider-tags): Map
  [PropagateTags](#sam-capacityprovider-propagatetags): Boolean
  [InstanceRequirements](#sam-capacityprovider-instancerequirements): InstanceRequirements
  [ScalingConfig](#sam-capacityprovider-scalingconfig): ScalingConfig
  [KmsKeyArn](#sam-capacityprovider-kmskeyarn): String
```

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

 `CapacityProviderName`   <a name="sam-capacityprovider-capacityprovidername"></a>
El nombre del proveedor de capacidad. Este nombre debe ser único en tu AWS cuenta y región.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[CapacityProviderName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityprovidername)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. 

 `VpcConfig`   <a name="sam-capacityprovider-vpcconfig"></a>
La configuración de VPC para el proveedor de capacidad. Especifica las subredes de VPC y los grupos de seguridad en los que se lanzarán EC2 las instancias de Amazon.  
*Tipo:* [VpcConfig](sam-property-capacityprovider-vpcconfig.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. 

 `OperatorRole`   <a name="sam-capacityprovider-operatorrole"></a>
 El ARN del rol de operador de Lambda con permisos para crear y administrar EC2 instancias de Amazon y recursos relacionados en la cuenta del cliente. Si no se proporciona, genera AWS SAM automáticamente un rol con los permisos necesarios.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CapacityProviderOperatorRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html#cfn-lambda-capacityprovider-capacityproviderpermissionsconfig-capacityprovideroperatorrolearn)` propiedad `[PermissionsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-permissionsconfig)` de un `AWS::Lambda::CapacityProvider` recurso. 

 `Tags`   <a name="sam-capacityprovider-tags"></a>
Un mapa de pares clave-valor para aplicarlo al proveedor de capacidad y sus recursos asociados.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-tags)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. La `Tags` propiedad se AWS SAM compone de pares clave-valor (mientras que en CloudFormation esta propiedad se compone de una lista de objetos Tag). Además, agrega AWS SAM automáticamente una `lambda:createdBy:SAM` etiqueta a esta función Lambda y a las funciones predeterminadas generadas para esta función. 

 `PropagateTags`   <a name="sam-capacityprovider-propagatetags"></a>
 Indica si se deben pasar o no las etiquetas de la propiedad Tags a los recursos `AWS::Serverless::CapacityProvider` generados. `True`Configúrelo para propagar las etiquetas en los recursos generados.   
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `InstanceRequirements`   <a name="sam-capacityprovider-instancerequirements"></a>
 Especificaciones de los tipos de instancias informáticas que puede usar el proveedor de capacidad. Esto incluye los requisitos de arquitectura `allowed` o los tipos de `excluded` instancias.  
*Tipo:* [InstanceRequirements](sam-property-capacityprovider-instancerequirements.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. 

 `ScalingConfig`   <a name="sam-capacityprovider-scalingconfig"></a>
 La configuración de escalado del proveedor de capacidad. Define cómo el proveedor de capacidad escala las EC2 instancias de Amazon en función de la demanda.  
*Tipo:* [ScalingConfig](sam-property-capacityprovider-scalingconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. 

 `KmsKeyArn`   <a name="sam-capacityprovider-kmskeyarn"></a>
El ARN de la AWS KMS clave utilizada para cifrar los datos en reposo y en tránsito para el proveedor de capacidad.  
*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-capacityprovider.html#cfn-lambda-capacityprovider-kmskeyarn)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. 

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

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

Cuando se proporciona el identificador lógico de este recurso a la función `Ref` intrínseca, devuelve el nombre del proveedor de capacidad.

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 *. 

### Fn:: GetAtt
<a name="sam-resource-capacityprovider-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 del proveedor de capacidad.

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

### Proveedor de capacidad básica
<a name="sam-resource-capacityprovider-examples-basic"></a>

En el siguiente ejemplo, se crea un proveedor de capacidad básico con una configuración de VPC.

```
MyCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: my-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    Tags:
      Environment: Production
      Team: ServerlessTeam
```

### Proveedor de capacidad avanzado con escalado
<a name="sam-resource-capacityprovider-examples-advanced"></a>

En el siguiente ejemplo, se crea un proveedor de capacidad con requisitos de instancia personalizados y una configuración de escalado.

```
AdvancedCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: advanced-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRole
    PropagateTags: true
    InstanceRequirements:
      Architectures:
        - x86_64
      ExcludedTypes:
        - t2.micro
    ScalingConfig:
      MaxInstanceCount: 10
      ManualScalingPolicies:
        AverageCPUUtilization: 70.0
    KmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
    Tags:
      Environment: Production
      CostCenter: Engineering
```

# VpcConfig
<a name="sam-property-capacityprovider-vpcconfig"></a>

Configura la configuración de la VPC para un proveedor de capacidad, incluidas las subredes y los grupos de seguridad EC2 donde se lanzarán las instancias.

## Sintaxis
<a name="sam-property-capacityprovider-vpcconfig-syntax"></a>

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

### YAML
<a name="sam-property-capacityprovider-vpcconfig-syntax.yaml"></a>

```
[SubnetIds](#sam-capacityprovider-vpcconfig-subnetids): List
[SecurityGroupIds](#sam-capacityprovider-vpcconfig-securitygroupids): List
```

## Propiedades
<a name="sam-property-capacityprovider-vpcconfig-properties"></a>

 `SubnetIds`   <a name="sam-capacityprovider-vpcconfig-subnetids"></a>
Una lista de subredes en las que IDs se lanzarán EC2 las instancias. Debe especificarse al menos una subred.  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SubnetIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-subnetids)` propiedad `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig) ` de un `AWS::Lambda::CapacityProvider` recurso. 

 `SecurityGroupIds`   <a name="sam-capacityprovider-vpcconfig-securitygroupids"></a>
Una lista de grupos de seguridad IDs para asociarlos a las EC2 instancias. Si no se especifica, se utilizará el grupo de seguridad predeterminado para la VPC.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[SecurityGroupIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-securitygroupids)` `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` propiedad de un `AWS::Lambda::CapacityProvider` recurso. 

## Ejemplos
<a name="sam-property-capacityprovider-vpcconfig-examples"></a>

### Configuración de la VPC
<a name="sam-property-capacityprovider-vpcconfig-examples-basic"></a>

El siguiente ejemplo muestra una configuración de VPC con varias subredes y grupos de seguridad.

```
VpcConfig:
  SubnetIds:
    - subnet-12345678
    - subnet-87654321
  SecurityGroupIds:
    - sg-12345678
    - sg-87654321
```

# InstanceRequirements
<a name="sam-property-capacityprovider-instancerequirements"></a>

Especifica los requisitos de EC2 las instancias que lanzará el proveedor de capacidad, incluidas las arquitecturas y las restricciones de tipo de instancia.

## Sintaxis
<a name="sam-property-capacityprovider-instancerequirements-syntax"></a>

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

### YAML
<a name="sam-property-capacityprovider-instancerequirements-syntax.yaml"></a>

```
[Architectures](#sam-capacityprovider-instancerequirements-architectures): List
[AllowedTypes](#sam-capacityprovider-instancerequirements-allowedtypes): List
[ExcludedTypes](#sam-capacityprovider-instancerequirements-excludedtypes): List
```

**nota**  
Puede especificar una de las dos `AllowedTypes` opciones `ExcludedTypes` al definir los requisitos de instancia para su proveedor de capacidad, pero no ambas opciones.

## Propiedades
<a name="sam-property-capacityprovider-instancerequirements-properties"></a>

 `Architectures`   <a name="sam-capacityprovider-instancerequirements-architectures"></a>
Las instrucciones configuran las arquitecturas para las instancias del proveedor de capacidad.  
*Valores válidos*: `x86_64` o `arm64`  
*Tipo*: lista  
*Obligatorio*: no  
*Valor predeterminado*: `x86_64`  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-architectures)` propiedad `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` de un `AWS::Lambda::CapacityProvider` recurso. 

 `AllowedTypes`   <a name="sam-capacityprovider-instancerequirements-allowedtypes"></a>
Una lista de los tipos de EC2 instancias permitidos para la instancia del proveedor de capacidad.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AllowedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-allowedinstancetypes)` propiedad `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` de un `AWS::Lambda::CapacityProvider` recurso. 

 `ExcludedTypes`   <a name="sam-capacityprovider-instancerequirements-excludedtypes"></a>
Una lista de tipos de EC2 instancias para excluirlos del proveedor de capacidad.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ExcludedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-excludedinstancetypes)` propiedad `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` de un `AWS::Lambda::CapacityProvider` recurso. 

## Ejemplos
<a name="sam-property-capacityprovider-instancerequirements-examples"></a>

### Configuración de requisitos de instancia
<a name="sam-property-capacityprovider-instancerequirements-examples-basic"></a>

El siguiente ejemplo muestra los requisitos de la instancia con restricciones específicas de arquitectura y tipo de instancia.

```
InstanceRequirements:
  Architectures:
    - x86_64
  ExcludedTypes:
    - t2.micro
```

# ScalingConfig
<a name="sam-property-capacityprovider-scalingconfig"></a>

Configura la forma en que el proveedor de capacidad escala las EC2 instancias en función de la demanda, incluidos los límites máximos de las instancias y las políticas de escalado.

## Sintaxis
<a name="sam-property-capacityprovider-scalingconfig-syntax"></a>

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

### YAML
<a name="sam-property-capacityprovider-scalingconfig-syntax.yaml"></a>

```
[MaxVCpuCount](#sam-capacityprovider-scalingconfig-maxvcpucount): Integer
[AverageCPUUtilization](#sam-capacityprovider-scalingconfig-averagecpuutilization): Double
```

## Propiedades
<a name="sam-property-capacityprovider-scalingconfig-properties"></a>

 `MaxVCpuCount`   <a name="sam-capacityprovider-scalingconfig-maxvcpucount"></a>
El número máximo de v CPUs que el proveedor de capacidad puede aprovisionar en todas las instancias de procesamiento.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[MaxVCpuCount](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-maxvcpucount)` propiedad `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` de un `AWS::Lambda::CapacityProvider` recurso. 

 `AverageCPUUtilization`   <a name="sam-capacityprovider-scalingconfig-averagecpuutilization"></a>
El porcentaje promedio de uso de la CPU objetivo (0-100) para las decisiones de escalado. Cuando la utilización media de la CPU supere este umbral, el proveedor de capacidad ampliará EC2 las instancias de Amazon. Cuando se especifica AWS SAM , crea `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` un `AWS::Lambda::CapacityProvider` recurso con los valores `[ScalingMode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingmode)` establecidos en `'Manual'` y `[ScalingPolicies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingpolicies)` establecidos en. `[{PredefinedMetricType: 'LambdaCapacityProviderAverageCPUUtilization', TargetValue: <this value>}]`   
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente. 

## Ejemplos
<a name="sam-property-capacityprovider-scalingconfig-examples"></a>

### Scaling configuration (Escalado de configuración)
<a name="sam-property-capacityprovider-scalingconfig-examples-basic"></a>

El siguiente ejemplo muestra una configuración de escalado con un VCpu recuento máximo y un uso medio de la CPU.

```
ScalingConfig:
  MaxVCpuCount: 10
  AverageCPUUtilization: 70.0
```

# AWS::Serverless::Connector
<a name="sam-resource-connector"></a>

Configura permisos entre dos recursos. Para obtener una introducción a los conectores, consulta [Administrar los permisos de recursos con AWS SAM conectores](managing-permissions-connectors.md).

Para obtener más información sobre AWS CloudFormation los recursos generados, consulte[CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).

Para enviar comentarios sobre los conectores, [envíe un nuevo número](https://github.com/aws/serverless-application-model/issues/new?assignees=&labels=area%2Fconnectors,stage%2Fneeds-triage&template=other.md&title=%28Feature%20Request%29) al *serverless-application-model AWS GitHub repositorio*.

**nota**  
Cuando lo despliegas AWS CloudFormation, AWS SAM transforma tus AWS SAM 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-connector-syntax"></a>

Para declarar esta entidad en tu plantilla AWS Serverless Application Model (AWS SAM), usa cualquiera de las siguientes sintaxis.

**nota**  
Recomendamos utilizar la sintaxis de los conectores integrados en la mayoría de los casos de uso. Al estar integrado en el recurso de origen, es más fácil de leer y mantener a lo largo del tiempo. Cuando necesites hacer referencia a un recurso fuente que no esté dentro de la misma AWS SAM plantilla, como un recurso de una pila anidada o un recurso compartido, usa la `AWS::Serverless::Connector` sintaxis.

### Conectores integrados
<a name="sam-resource-connector-syntax-embedded"></a>

```
<source-resource-logical-id>:
  Connectors:
    <connector-logical-id:
      Properties:
        [Destination](#sam-connector-destination): ResourceReference | List of ResourceReference
        [Permissions](#sam-connector-permissions): List
        [SourceReference](#sam-connector-sourcereference): SourceReference
```

### AWS::Serverless::Connector
<a name="sam-resource-connector-syntax-connector"></a>

```
Type: AWS::Serverless::Connector
Properties:
  [Destination](#sam-connector-destination): ResourceReference | List of ResourceReference
  [Permissions](#sam-connector-permissions): List
  [Source](#sam-connector-source): ResourceReference
```

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

 `Destination`   <a name="sam-connector-destination"></a>
El recurso de destino.  
*Tipo*: [ResourceReference](sam-property-connector-resourcereference.md)\$1 Lista de [ResourceReference](sam-property-connector-resourcereference.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Permissions`   <a name="sam-connector-permissions"></a>
El tipo de permiso que el recurso de origen puede realizar en el recurso de destino.  
`Read`incluye acciones AWS Identity and Access Management (IAM) que permiten leer los datos del recurso.  
`Write` incluye acciones de IAM que permiten iniciar y escribir datos en un recurso.  
*Valores válidos*: `Read` o `Write`  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Source`   <a name="sam-connector-source"></a>
El recurso fuente. Obligatorio cuando se utiliza la sintaxis `AWS::Serverless::Connector`.  
*Tipo:* [ResourceReference](sam-property-connector-resourcereference.md)  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `SourceReference`   <a name="sam-connector-sourcereference"></a>
El recurso fuente.  
Utilícelo con la sintaxis de los conectores integrados al definir propiedades adicionales para el recurso de origen.
*Tipo:* [SourceReference](sam-property-connector-sourcereference.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### Conectores integrados
<a name="sam-resource-connector-examples-embedded"></a>

En el siguiente ejemplo, se utilizan conectores integrados para definir una conexión de datos `Write` entre una función de AWS Lambda y una tabla de Amazon DynamoDB:

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyTable:
    Type: AWS::Serverless::SimpleTable
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Write
    ...
```

En el siguiente ejemplo, se utilizan conectores integrados para definir los `Read` y los permisos `Write`:

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

En el siguiente ejemplo, se utilizan conectores integrados para definir un recurso fuente con una propiedad distinta de `Id`:

```
Transform: AWS::Serverless-2016-10-31
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Connectors:
      ApitoLambdaConn:
        Properties:
          SourceReference:
            Qualifier: Prod/GET/foobar
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

### AWS::Serverless::Connector
<a name="sam-resource-connector--examples-connector"></a>

En el siguiente ejemplo, se utiliza el [AWS::Serverless::Connector](#sam-resource-connector) recurso para que una AWS Lambda función lea y escriba en una tabla de Amazon DynamoDB:

```
MyConnector:
  Type: AWS::Serverless::Connector
  Properties:
    Source:
      Id: MyFunction
    Destination:
      Id: MyTable
    Permissions:
      - Read
      - Write
```

En el siguiente ejemplo, se utiliza el recurso [AWS::Serverless::Connector](#sam-resource-connector) para que una función de Lambda escriba en un tema de Amazon SNS, con ambos recursos en la misma plantilla:

```
MyConnector:
  Type: AWS::Serverless::Connector
  Properties:
    Source:
      Id: MyLambda
    Destination:
      Id: MySNSTopic
    Permissions:
      - Write
```

En el siguiente ejemplo, se utiliza el recurso [AWS::Serverless::Connector](#sam-resource-connector) para que un tema de Amazon SNS se escriba en una función de Lambda y, a continuación, en una tabla de Amazon DynamoDB, con todos los recursos en la misma plantilla:

```
Transform: AWS::Serverless-2016-10-31
Resources:
  Topic:
    Type: AWS::SNS::Topic
    Properties:
      Subscription:
        - Endpoint: !GetAtt Function.Arn
          Protocol: lambda

  Function:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs16.x
      Handler: index.handler
      InlineCode: |
        const AWS = require('aws-sdk');
        exports.handler = async (event, context) => {
          const docClient = new AWS.DynamoDB.DocumentClient();
          await docClient.put({ 
            TableName: process.env.TABLE_NAME, 
            Item: {
              id: context.awsRequestId,
              event: JSON.stringify(event)
            }
          }).promise();
        };
      Environment:
        Variables:
          TABLE_NAME: !Ref Table

  Table:
    Type: AWS::Serverless::SimpleTable

  TopicToFunctionConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: 
        Id: Topic
      Destination: 
        Id: Function
      Permissions:
        - Write

  FunctionToTableConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: 
        Id: Function
      Destination: 
        Id: Table
      Permissions:
        - Write
```

La siguiente es la AWS CloudFormation plantilla transformada del ejemplo anterior:

```
"FunctionToTableConnectorPolicy": {
  "Type": "AWS::IAM::ManagedPolicy",
  "Metadata": {
    "aws:sam:connectors": {
      "FunctionToTableConnector": {
        "Source": {
          "Type": "AWS::Lambda::Function"
        },
        "Destination": {
          "Type": "AWS::DynamoDB::Table"
        }
      }
    }
  },
  "Properties": {
    "PolicyDocument": {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "dynamodb:PutItem",
            "dynamodb:UpdateItem",
            "dynamodb:DeleteItem",
            "dynamodb:BatchWriteItem",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate"
          ],
          "Resource": [
            {
              "Fn::GetAtt": [
                "MyTable",
                "Arn"
              ]
            },
            {
              "Fn::Sub": [
                "${DestinationArn}/index/*",
                {
                  "DestinationArn": {
                    "Fn::GetAtt": [
                      "MyTable",
                      "Arn"
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "Roles": [
      {
        "Ref": "MyFunctionRole"
      }
    ]
  }
}
```

# ResourceReference
<a name="sam-property-connector-resourcereference"></a>

Referencia a un recurso que utiliza el tipo de recurso [AWS::Serverless::Connector](sam-resource-connector.md).

**nota**  
Para los recursos de la misma plantilla, proporciona la `Id`. Para recursos que no estén dentro de la misma plantilla, utilice una combinación de otras propiedades. Para obtener más información, consulta [AWS SAM referencia de conector](reference-sam-connector.md).

## Sintaxis
<a name="sam-property-connector-resourcereference-syntax"></a>

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

### YAML
<a name="sam-property-connector-resourcereference-syntax.yaml"></a>

```
  [Arn](#sam-connector-resourcereference-arn): String
  [Id](#sam-connector-resourcereference-id): String
  [Name](#sam-connector-resourcereference-name): String
  [Qualifier](#sam-connector-resourcereference-qualifier): String
  [QueueUrl](#sam-connector-resourcereference-queueurl): String
  [ResourceId](#sam-connector-resourcereference-resourceid): String
  [RoleName](#sam-connector-resourcereference-rolename): String
  [Type](#sam-connector-resourcereference-type): String
```

## Propiedades
<a name="sam-property-connector-resourcereference-properties"></a>

 `Arn`   <a name="sam-connector-resourcereference-arn"></a>
El ARN de un recurso .  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Id`   <a name="sam-connector-resourcereference-id"></a>
El [ID lógico](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) de un recurso de la misma plantilla.  
Si `Id` se especifica, si el conector genera políticas AWS Identity and Access Management (IAM), la función de IAM asociada a esas políticas se deducirá del recurso. `Id` Cuando `Id` no se especifica, proporciona `RoleName` del recurso para que los conectores adjunten las políticas de IAM generadas a un rol de IAM.
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

 `Name`   <a name="sam-connector-resourcereference-name"></a>
El nombre de un recurso .  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Qualifier`   <a name="sam-connector-resourcereference-qualifier"></a>
Calificador de un recurso que reduce su alcance. `Qualifier` reemplaza el valor `*` al final de un ARN de restricción de recursos. Para ver un ejemplo, consulta [API Gateway que invoca una función de Lambda](#sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function).  
La definición del calificador varía según el tipo de recurso. Para ver una lista los puntos de enlace de origen y destino admitidos, consulta [AWS SAM referencia de conector](reference-sam-connector.md).
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `QueueUrl`   <a name="sam-connector-resourcereference-queueurl"></a>
La URL de la cola de Amazon SQS. Esta propiedad solo se aplica a los recursos de Amazon SQS.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ResourceId`   <a name="sam-connector-resourcereference-resourceid"></a>
El ID de un recurso. Por ejemplo, el ID de API de la API Gateway.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `RoleName`   <a name="sam-connector-resourcereference-rolename"></a>
El nombre del rol asociado a un recurso.  
Cuando se especifica `Id`, si el conector genera políticas de IAM, el rol de IAM asociado a esas políticas se deducirá del recurso de `Id`. Cuando `Id` no se especifica, proporciona `RoleName` del recurso para que los conectores adjunten las políticas de IAM generadas a un rol de IAM.
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Type`   <a name="sam-connector-resourcereference-type"></a>
El CloudFormation tipo de recurso. Para obtener más información, consulta la [Referencia de tipos de recursos y propiedades de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html).  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-connector-resourcereference--examples"></a>

### API Gateway que invoca una función de Lambda
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function"></a>

En el siguiente ejemplo, se utiliza el [AWS::Serverless::Connector](sam-resource-connector.md) recurso para permitir que Amazon API Gateway invoque una AWS Lambda función.

#### YAML
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function--yaml"></a>

```
Transform: AWS::Serverless-2016-10-31
Resources:
  MyRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Action: sts:AssumeRole
            Principal:
              Service: lambda.amazonaws.com
      ManagedPolicyArns:
        - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Role: !GetAtt MyRole.Arn
      Runtime: nodejs16.x
      Handler: index.handler
      Code:
        ZipFile: |
          exports.handler = async (event) => {
            return {
              statusCode: 200,
              body: JSON.stringify({
                "message": "It works!"
              }),
            };
          };

  MyApi:
    Type: AWS::ApiGatewayV2::Api
    Properties:
      Name: MyApi
      ProtocolType: HTTP

  MyStage:
    Type: AWS::ApiGatewayV2::Stage
    Properties:
      ApiId: !Ref MyApi
      StageName: prod
      AutoDeploy: True

  MyIntegration:
    Type: AWS::ApiGatewayV2::Integration
    Properties:
      ApiId: !Ref MyApi
      IntegrationType: AWS_PROXY
      IntegrationUri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations
      IntegrationMethod: POST
      PayloadFormatVersion: "2.0"

  MyRoute:
    Type: AWS::ApiGatewayV2::Route
    Properties:
      ApiId: !Ref MyApi
      RouteKey: GET /hello
      Target: !Sub integrations/${MyIntegration}

  MyConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: # Use 'Id' when resource is in the same template
        Type: AWS::ApiGatewayV2::Api
        ResourceId: !Ref MyApi
        Qualifier: prod/GET/hello # Or "*" to allow all routes
      Destination: # Use 'Id' when resource is in the same template
        Type: AWS::Lambda::Function
        Arn: !GetAtt MyFunction.Arn
      Permissions:
        - Write

Outputs:
  Endpoint:
    Value: !Sub https://${MyApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/prod/hello
```

# SourceReference
<a name="sam-property-connector-sourcereference"></a>

Referencia a un recurso de origen que utiliza el tipo de recurso [AWS::Serverless::Connector](sam-resource-connector.md).

## Sintaxis
<a name="sam-property-connector-sourcereference-syntax"></a>

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

### YAML
<a name="sam-property-connector-sourcereference-syntax.yaml"></a>

```
[Qualifier](#sam-connector-sourcereference-qualifier): String
```

## Propiedades
<a name="sam-property-connector-sourcereference-properties"></a>

 `Qualifier`   <a name="sam-connector-sourcereference-qualifier"></a>
Calificador de un recurso que reduce su alcance. `Qualifier` reemplaza el valor `*` al final de un ARN de restricción de recursos.  
La definición del calificador varía según el tipo de recurso. Para ver una lista los puntos de enlace de origen y destino admitidos, consulta [AWS SAM referencia de conector](reference-sam-connector.md).
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-connector-sourcereference--examples"></a>

**En el siguiente ejemplo, se utilizan conectores integrados para definir un recurso fuente con una propiedad distinta de `Id`:**

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Connectors:
      ApitoLambdaConn:
        Properties:
          SourceReference:
            Qualifier: Prod/GET/foobar
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

# 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 de 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 \$1 [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 \$1 [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 de 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).  
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.  
*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`, entonces `ImageUri` es obligatoria o bien debe crear la aplicación con `Metadata` las entradas necesarias en el archivo AWS SAM de 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 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:  
+ [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 \$1 Lista \$1 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`\$1`Disabled`\$1`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>

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

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

# DeadLetterQueue
<a name="sam-property-function-deadletterqueue"></a>

Especifica una cola de SQS o un tema de SNS al que ( AWS Lambda Lambda) envía eventos cuando no puede procesarlos. Para obtener más información sobre la funcionalidad de las colas de mensajes fallidos, consulte [Dead-letter queues](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.

SAM añadirá automáticamente los permisos adecuados a la función de ejecución de la función de Lambda para permitir que el servicio Lambda acceda al recurso. sqs: se SendMessage añadirá para las colas de SQS y SNS:Publish para los temas de SNS.

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

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

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

```
  [TargetArn](#sam-function-deadletterqueue-targetarn): String
  [Type](#sam-function-deadletterqueue-type): String
```

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

 `TargetArn`   <a name="sam-function-deadletterqueue-targetarn"></a>
El Nombre de recurso de Amazon (ARN) de una cola de Amazon SQS o del tema de Amazon SNS.  
*Tipo*: cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TargetArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html#cfn-lambda-function-deadletterconfig-targetarn)` propiedad del tipo de `AWS::Lambda::Function` `DeadLetterConfig` datos.

 `Type`   <a name="sam-function-deadletterqueue-type"></a>
Tipo de cola de mensajes fallidos.  
*Valores válidos*: `SNS`, `SQS`  
*Tipo*: cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### DeadLetterQueue
<a name="sam-property-function-deadletterqueue--examples--deadletterqueue"></a>

Ejemplo de cola de mensaje fallido para un tema de SNS.

#### YAML
<a name="sam-property-function-deadletterqueue--examples--deadletterqueue--yaml"></a>

```
DeadLetterQueue:
  Type: SNS
  TargetArn: arn:aws:sns:us-east-2:123456789012:my-topic
```

# DeploymentPreference
<a name="sam-property-function-deploymentpreference"></a>

Especifica las configuraciones para permitir las implementaciones graduales de Lambda. Para obtener más información acerca de la configuración de implementaciones graduales de Lambda, consulte [Implementación gradual de aplicaciones sin servidor con AWS SAM](automating-updates-to-serverless-apps.md).

**nota**  
Debe especificar un `AutoPublishAlias` en su objeto [AWS::Serverless::Function](sam-resource-function.md) para utilizar un objeto `DeploymentPreference`; de lo contrario, se producirá un error.

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

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

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

```
  [Alarms](#sam-function-deploymentpreference-alarms): List
  [Enabled](#sam-function-deploymentpreference-enabled): Boolean
  [Hooks](#sam-function-deploymentpreference-hooks): Hooks
  [PassthroughCondition](#sam-function-deploymentpreference-passthroughcondition): Boolean
  [Role](#sam-function-deploymentpreference-role): String
  [TriggerConfigurations](#sam-function-deploymentpreference-triggerconfigurations): List
  [Type](#sam-function-deploymentpreference-type): String
```

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

 `Alarms`   <a name="sam-function-deploymentpreference-alarms"></a>
Una lista de CloudWatch las alarmas que desea que se activen por cualquier error provocado por la implementación.  
Esta propiedad acepta la función intrínseca `Fn::If`. Consulte la sección de ejemplos al final de este tema para ver una plantilla de ejemplo que utiliza `Fn::If`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Enabled`   <a name="sam-function-deploymentpreference-enabled"></a>
Si esta preferencia de implementación está habilitada.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: True  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Hooks`   <a name="sam-function-deploymentpreference-hooks"></a>
Funciones de Lambda de validación que se ejecutan antes y después del desvío del tráfico.  
*[Tipo: enlaces](sam-property-function-hooks.md)*  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `PassthroughCondition`   <a name="sam-function-deploymentpreference-passthroughcondition"></a>
Si es True y esta preferencia de despliegue está habilitada, la condición de la función se transferirá al CodeDeploy recurso generado. Por lo general, debe establecerlo en True. De lo contrario, el CodeDeploy recurso se crearía incluso si la condición de la función se resolviera como False.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Role`   <a name="sam-function-deploymentpreference-role"></a>
Un ARN de rol de IAM CodeDeploy que se utilizará para el cambio de tráfico. No se creará una función de rol de IAM si se proporciona.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `TriggerConfigurations`   <a name="sam-function-deploymentpreference-triggerconfigurations"></a>
Una lista de las configuraciones de activación que desea asociar al grupo de implementación. Se usa para notificar a un tema de SNS sobre eventos del ciclo de vida.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TriggerConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations)` propiedad de un `AWS::CodeDeploy::DeploymentGroup` recurso.

 `Type`   <a name="sam-function-deploymentpreference-type"></a>
Actualmente, hay dos categorías de tipos de implementación: Linear (lineal) y Canary (valor controlado). Para obtener más información acerca de los tipos de implementaciones disponibles, consulte [Implementación gradual de aplicaciones sin servidor con AWS SAM](automating-updates-to-serverless-apps.md).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### DeploymentPreference con ganchos antes y después del tráfico.
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks."></a>

Ejemplo de preferencia de implementación que contiene enlaces previos y posteriores al tráfico.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks.--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    - !Ref: AliasErrorMetricGreaterThanZeroAlarm
    - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm
  Hooks:
    PreTraffic:
      !Ref: PreTrafficLambdaFunction
    PostTraffic:
      !Ref: PostTrafficLambdaFunction
```

### DeploymentPreference con la función intrínseca Fn: :If
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function"></a>

Ejemplo de preferencia de implementación que se utiliza para configurar las alarmas `Fn::If`. En este ejemplo, `Alarm1` se configurará si `MyCondition` es `true` y `Alarm2` y `Alarm5` configurarán si `MyCondition` es `false`.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    Fn::If:
      - MyCondition
      - - Alarm1
      - - Alarm2
        - Alarm5
```

# Hooks
<a name="sam-property-function-hooks"></a>

Funciones de Lambda de validación que se ejecutan antes y después del desvío del tráfico.

**nota**  
Las funciones de Lambda a las que se hace referencia en esta propiedad configuran el objeto `CodeDeployLambdaAliasUpdate` del recurso resultante [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). Para obtener más información, consulte la [CodeDeployLambdaAliasUpdate Política](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate) en la *Guía AWS CloudFormation del usuario*.

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

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

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

```
  [PostTraffic](#sam-function-hooks-posttraffic): String
  [PreTraffic](#sam-function-hooks-pretraffic): String
```

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

 `PostTraffic`   <a name="sam-function-hooks-posttraffic"></a>
Función de Lambda que se ejecuta después del desvío del tráfico.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `PreTraffic`   <a name="sam-function-hooks-pretraffic"></a>
Función de Lambda que se ejecuta antes del desvío del tráfico.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Enlaces
<a name="sam-property-function-hooks--examples--hooks"></a>

Ejemplo de funciones de enlace

#### YAML
<a name="sam-property-function-hooks--examples--hooks--yaml"></a>

```
Hooks:
  PreTraffic:
    Ref: PreTrafficLambdaFunction
  PostTraffic:
    Ref: PostTrafficLambdaFunction
```

# DurableConfig
<a name="sam-property-function-durableconfig"></a>

Configura los ajustes de ejecución duraderos de las AWS Lambda funciones. Las funciones duraderas pueden funcionar hasta un año y comprobar automáticamente el progreso, lo que permite ejecutar flujos de trabajo prolongados y aplicaciones tolerantes a fallos. Para obtener más información sobre las funciones duraderas, consulte [Funciones duraderas de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html) en la Guía para *AWS Lambda desarrolladores*.

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

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

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

```
  [ExecutionTimeout](#sam-function-durableconfig-executiontimeout): Integer
  [RetentionPeriodInDays](#sam-function-durableconfig-retentionperiodindays): Integer
```

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

 `ExecutionTimeout`   <a name="sam-function-durableconfig-executiontimeout"></a>
La cantidad de tiempo (en segundos) que Lambda permite que una función duradera se ejecute antes de detenerla. El máximo es un año de 366 días o 31.622.400 segundos.  
*Tipo*: entero  
*Obligatorio*: sí  
*Mínimo*: 1  
*Máximo: 31622400*  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ExecutionTimeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-durableconfig.html#cfn-lambda-function-durableconfig-executiontimeout)` propiedad del tipo de `AWS::Lambda::Function` `DurableConfig` datos.

 `RetentionPeriodInDays`   <a name="sam-function-durableconfig-retentionperiodindays"></a>
El número de días que Lambda conserva su historial tras el cierre de una ejecución duradera, de uno a 90 días. El valor predeterminado es 14 días.  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado*: 14  
*Mínimo*: 1  
*Máximo*: 90  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RetentionPeriodInDays](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-durableconfig.html#cfn-lambda-function-durableconfig-retentionperiodindays)` propiedad del tipo de `AWS::Lambda::Function` `DurableConfig` datos.

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

### DurableConfig
<a name="sam-property-function-durableconfig--examples--durableconfig"></a>

Ejemplo de configuración duradera para una función con un tiempo de espera de ejecución de 1 hora y un período de retención de 7 días.

#### YAML
<a name="sam-property-function-durableconfig--examples--durableconfig--yaml"></a>

```
DurableConfig:
  ExecutionTimeout: 3600
  RetentionPeriodInDays: 7
```

# EventInvokeConfiguration
<a name="sam-property-function-eventinvokeconfiguration"></a>

Opciones de configuración para invocaciones [asíncronas](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) de alias o versiones de Lambda.

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

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

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

```
  [DestinationConfig](#sam-function-eventinvokeconfiguration-destinationconfig): EventInvokeDestinationConfiguration
  [MaximumEventAgeInSeconds](#sam-function-eventinvokeconfiguration-maximumeventageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-eventinvokeconfiguration-maximumretryattempts): Integer
```

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

 `DestinationConfig`   <a name="sam-function-eventinvokeconfiguration-destinationconfig"></a>
Un objeto de configuración que especifica el destino de un evento después de que Lambda lo procese.  
*Tipo:* [EventInvokeDestinationConfiguration](sam-property-function-eventinvokedestinationconfiguration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso. SAM requiere un parámetro adicional, «Type», que no existe en CloudFormation.

 `MaximumEventAgeInSeconds`   <a name="sam-function-eventinvokeconfiguration-maximumeventageinseconds"></a>
La antigüedad máxima de una solicitud que Lambda envía a una función para su procesamiento.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[MaximumEventAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumeventageinseconds)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso.

 `MaximumRetryAttempts`   <a name="sam-function-eventinvokeconfiguration-maximumretryattempts"></a>
El número máximo de veces que se puede reintentar antes de que la función devuelva un error.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumretryattempts)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso.

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

### MaximumEventAgeInSeconds
<a name="sam-property-function-eventinvokeconfiguration--examples--maximumeventageinseconds"></a>

MaximumEventAgeInSeconds ejemplo

#### YAML
<a name="sam-property-function-eventinvokeconfiguration--examples--maximumeventageinseconds--yaml"></a>

```
EventInvokeConfig:
  MaximumEventAgeInSeconds: 60
  MaximumRetryAttempts: 2
  DestinationConfig:
    OnSuccess:
      Type: SQS
      Destination: arn:aws:sqs:us-west-2:012345678901:my-queue
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn
```

# EventInvokeDestinationConfiguration
<a name="sam-property-function-eventinvokedestinationconfiguration"></a>

Un objeto de configuración que especifica el destino de un evento después de que Lambda lo procese.

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

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

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

```
  [OnFailure](#sam-function-eventinvokedestinationconfiguration-onfailure): OnFailure
  [OnSuccess](#sam-function-eventinvokedestinationconfiguration-onsuccess): OnSuccess
```

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

 `OnFailure`   <a name="sam-function-eventinvokedestinationconfiguration-onfailure"></a>
Un destino para eventos que no han podido procesarse.  
*Tipo:* [OnFailure](sam-property-function-onfailure.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso. Requiere `Type`, una propiedad adicional exclusiva para SAM.

 `OnSuccess`   <a name="sam-function-eventinvokedestinationconfiguration-onsuccess"></a>
Un destino para eventos que se procesaron correctamente.  
*Tipo:* [OnSuccess](sam-property-function-onsuccess.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[OnSuccess](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso. Requiere `Type`, una propiedad adicional exclusiva para SAM.

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

### OnSuccess
<a name="sam-property-function-eventinvokedestinationconfiguration--examples--onsuccess"></a>

OnSuccess ejemplo

#### YAML
<a name="sam-property-function-eventinvokedestinationconfiguration--examples--onsuccess--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
      Destination: arn:aws:sqs:us-west-2:012345678901:my-queue
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn
```

# OnFailure
<a name="sam-property-function-onfailure"></a>

Un destino para eventos que no han podido procesarse.

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

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

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

```
  [Destination](#sam-function-onfailure-destination): String
  [Type](#sam-function-onfailure-type): String
```

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

 `Destination`   <a name="sam-function-onfailure-destination"></a>
El nombre de recurso de Amazon (ARN) del recurso de destino.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso. SAM añadirá los permisos necesarios al rol de IAM generado automáticamente asociado a esta función para acceder al recurso al que se hace referencia en esta propiedad.  
*Notas adicionales*: Si el tipo es Lambda/EventBridge, se requiere el destino.

 `Type`   <a name="sam-function-onfailure-type"></a>
Tipo de recurso al que se hace referencia en el destino. Los tipos admitidos son `SQS`, `SNS`, `S3`, `Lambda` y `EventBridge`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation   
*Notas adicionales*: Si el tipo es SQS/SNS y la `Destination` propiedad se deja en blanco, SAM genera automáticamente el SQS/SNS recurso. Para hacer referencia al recurso, utilice `<function-logical-id>.DestinationQueue` para SQS o `<function-logical-id>.DestinationTopic` para SNS. Si el tipo es Lambda/EventBridge, `Destination` es obligatorio.

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

### EventInvoke Ejemplo de configuración con destinos SQS y Lambda
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations"></a>

En este ejemplo, no se proporciona ningún destino para la OnSuccess configuración de SQS, por lo que SAM crea implícitamente una cola de SQS y añade los permisos necesarios. También en este ejemplo, en la OnFailure configuración se especifica un destino para un recurso de Lambda declarado en el archivo de plantilla, de modo que SAM añade los permisos necesarios a esta función de Lambda para llamar a la función de Lambda de destino.

#### YAML
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn  # Arn of a Lambda function declared in the template file.
```

### EventInvoke Ejemplo de configuración con destino SNS
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sns-destination"></a>

En este ejemplo, se proporciona un destino para un tema de SNS declarado en el archivo de plantilla de la OnSuccess configuración.

#### YAML
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sns-destination--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SNS
      Destination:
        Ref: DestinationSNS       # Arn of an SNS topic declared in the tempate file
```

# OnSuccess
<a name="sam-property-function-onsuccess"></a>

Un destino para eventos que se procesaron correctamente.

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

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

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

```
  [Destination](#sam-function-onsuccess-destination): String
  [Type](#sam-function-onsuccess-type): String
```

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

 `Destination`   <a name="sam-function-onsuccess-destination"></a>
El nombre de recurso de Amazon (ARN) del recurso de destino.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[OnSuccess](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess)` propiedad de un `AWS::Lambda::EventInvokeConfig` recurso. SAM añadirá los permisos necesarios al rol de IAM generado automáticamente asociado a esta función para acceder al recurso al que se hace referencia en esta propiedad.  
*Notas adicionales*: Si el tipo es Lambda/EventBridge, se requiere el destino.

 `Type`   <a name="sam-function-onsuccess-type"></a>
Tipo de recurso al que se hace referencia en el destino. Los tipos admitidos son `SQS`, `SNS`, `S3`, `Lambda` y `EventBridge`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation   
*Notas adicionales*: Si el tipo es SQS/SNS y la `Destination` propiedad se deja en blanco, SAM genera automáticamente el SQS/SNS recurso. Para hacer referencia al recurso, utilice `<function-logical-id>.DestinationQueue` para SQS o `<function-logical-id>.DestinationTopic` para SNS. Si el tipo es Lambda/EventBridge, `Destination` es obligatorio.

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

### EventInvoke Ejemplo de configuración con destinos SQS y Lambda
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations"></a>

En este ejemplo, no se proporciona ningún destino para la OnSuccess configuración de SQS, por lo que SAM crea implícitamente una cola de SQS y añade los permisos necesarios. También en este ejemplo, en la OnFailure configuración se especifica un destino para un recurso de Lambda declarado en el archivo de plantilla, de modo que SAM añade los permisos necesarios a esta función de Lambda para llamar a la función de Lambda de destino.

#### YAML
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn  # Arn of a Lambda function declared in the template file.
```

### EventInvoke Ejemplo de configuración con destino SNS
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sns-destination"></a>

En este ejemplo, se proporciona un destino para un tema de SNS declarado en el archivo de plantilla de la OnSuccess configuración.

#### YAML
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sns-destination--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SNS
      Destination:
        Ref: DestinationSNS       # Arn of an SNS topic declared in the tempate file
```

# EventSource
<a name="sam-property-function-eventsource"></a>

El objeto que describe la fuente de los eventos que activan la función. Cada evento consta de un tipo y un conjunto de propiedades que dependen de ese tipo. Para obtener información acerca de las propiedades de cada origen de eventos, consulta el tema correspondiente a ese tipo.

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

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

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

```
  [Properties](#sam-function-eventsource-properties): AlexaSkill | Api | CloudWatchEvent | CloudWatchLogs | Cognito | DocumentDB | DynamoDB | EventBridgeRule | HttpApi | IoTRule | Kinesis | MQ | MSK | S3 | Schedule | ScheduleV2 | SelfManagedKafka | SNS | SQS
  [Type](#sam-function-eventsource-type): String
```

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

 `Properties`   <a name="sam-function-eventsource-properties"></a>
Objeto que describe las propiedades de esta asignación de eventos. El conjunto de propiedades debe ajustarse al tipo definido.  
*Tipo* [[[[[: [AlexaSkill](sam-property-function-alexaskill.md)\$1 [Api](sam-property-function-api.md) \$1 \$1 [CloudWatchEvent](sam-property-function-cloudwatchevent.md)\$1 [Cognito [CloudWatchLogs](sam-property-function-cloudwatchlogs.md)](sam-property-function-cognito.md)\$1 DocumentDB \$1 [[DynamoDB](sam-property-function-dynamodb.md)](sam-property-function-documentdb.md) \$1 \$1 \$1 [Io \$1 Kinesis \$1 MQ EventBridgeRule[EventBridgeRule](sam-property-function-eventbridgerule.md) \$1 HttpApi[HttpApi](sam-property-function-httpapi.md) MSK \$1 S3 TRule](sam-property-function-iotrule.md)[\$1 Programación](sam-property-function-kinesis.md)[\$1 [ScheduleV2 \$1 \$1](sam-property-function-mq.md) SNS \$1 SQS [SelfManagedKafka](sam-property-function-selfmanagedkafka.md)](sam-property-function-msk.md)](sam-property-function-sqs.md)](sam-property-function-sns.md)](sam-property-function-schedulev2.md)](sam-property-function-schedule.md)](sam-property-function-s3.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva y no tiene un equivalente. AWS SAM CloudFormation 

 `Type`   <a name="sam-function-eventsource-type"></a>
Tipo de evento.  
*Valores válidos*: `AlexaSkill`, `Api`, `CloudWatchEvent`, `CloudWatchLogs`, `Cognito`, `DocumentDB`, `DynamoDB`, `EventBridgeRule`, `HttpApi`, `IoTRule`, `Kinesis`, `MQ`, `MSK`, `S3`, `Schedule`, `ScheduleV2`, `SelfManagedKafka`, `SNS`, `SQS`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### APIEvent
<a name="sam-property-function-eventsource--examples--apievent"></a>

Ejemplo de uso de un evento de API

#### YAML
<a name="sam-property-function-eventsource--examples--apievent--yaml"></a>

```
ApiEvent:
  Type: Api
  Properties:
    Method: get
    Path: /group/{user}
    RestApiId: 
      Ref: MyApi
```

# AlexaSkill
<a name="sam-property-function-alexaskill"></a>

El objeto que describe un tipo de fuente de evento de `AlexaSkill`.

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

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

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

```
  [SkillId](#sam-function-alexaskill-skillid): String
```

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

 `SkillId`   <a name="sam-function-alexaskill-skillid"></a>
La Alexa Skill ID para la habilidad de Alexa. Para obtener más información sobre la Skill ID, consulta [Configurar el activador de una función de Lambda](https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html#configuring-the-alexa-skills-kit-trigger) en la documentación del Alexa Skills Kit.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### AlexaSkillTrigger
<a name="sam-property-function-alexaskill--examples--alexaskilltrigger"></a>

Ejemplo de evento de habilidad de Alexa

#### YAML
<a name="sam-property-function-alexaskill--examples--alexaskilltrigger--yaml"></a>

```
AlexaSkillEvent:
  Type: AlexaSkill
```

# Api
<a name="sam-property-function-api"></a>

El objeto que describe un tipo de fuente de evento de `Api`. Si se define un recurso [AWS::Serverless::Api](sam-resource-api.md), los valores de ruta y método deben corresponder a una operación de la definición de OpenAPI de la API.

Si no se define ningún [AWS::Serverless::Api](sam-resource-api.md), la entrada y la salida de la función son una representación de la solicitud HTTP y la respuesta HTTP.

Por ejemplo, mediante la JavaScript API, el código de estado y el cuerpo de la respuesta se pueden controlar devolviendo un objeto con las claves StatusCode y body.

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

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

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

```
  [Auth](#sam-function-api-auth): ApiFunctionAuth
  [Method](#sam-function-api-method): String
  [Path](#sam-function-api-path): String
  [RequestModel](#sam-function-api-requestmodel): RequestModel
  [RequestParameters](#sam-function-api-requestparameters): List of [ String | RequestParameter ]
  [RestApiId](#sam-function-api-restapiid): String
  [ResponseTransferMode](#sam-function-api-responsetransfermode): String
  TimeoutInMillis: Integer
```

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

 `Auth`   <a name="sam-function-api-auth"></a>
Configuración de autenticación para esta API, ruta y método específicos.  
Útil para anular la configuración `DefaultAuthorizer` de autenticación de la API en una ruta individual cuando no se especifica ninguna `DefaultAuthorizer` o la anulación de la configuración `ApiKeyRequired` predeterminada.  
*Tipo:* [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Method`   <a name="sam-function-api-method"></a>
Método HTTP para el que se invoca esta función. Las opciones incluyen `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` y `ANY`. Consulte [Configuración de un método HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method) en la *Guía para desarrolladores de API Gateway* para obtener más información.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Path`   <a name="sam-function-api-path"></a>
Ruta de URI para la que se invoca esta función. Debe empezar con `/`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
Modelo de solicitud para usarlo en esta API, ruta y método específicos. Debe hacer referencia al nombre de un modelo especificado en la sección `Models` de un recurso [AWS::Serverless::Api](sam-resource-api.md).  
*Tipo:* [RequestModel](sam-property-function-requestmodel.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
Configuración de los parámetro de solicitud para una API\$1ruta\$1método específicos. Todos los nombres de los parámetros deben empezar por `method.request` y estar limitados a `method.request.header`, `method.request.querystring` o `method.request.path`.  
Una lista puede contener tanto cadenas de nombres de parámetros como [RequestParameter](sam-property-function-requestparameter.md)objetos. En el caso de las cadenas, las propiedades `Required` y `Caching` se establecerán de forma predeterminada en `false`.  
*Tipo*: Lista de [Cadena \$1 [RequestParameter](sam-property-function-requestparameter.md)]  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
Identificador de un RestApi recurso, que debe contener una operación con la ruta y el método dados. Normalmente, se configura para hacer referencia a un recurso [AWS::Serverless::Api](sam-resource-api.md) definido en esta plantilla.  
Si no define esta propiedad, AWS SAM crea un [AWS::Serverless::Api](sam-resource-api.md) recurso predeterminado a partir de un `OpenApi` documento generado. Ese recurso contiene una unión de todas las rutas y métodos definidos por eventos `Api` de la misma plantilla que no especifican un `RestApiId`.  
Esto no puede hacer referencia a un recurso [AWS::Serverless::Api](sam-resource-api.md) definido en otra plantilla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
El modo de transferencia de respuestas para la integración de la función Lambda. Configúrelo en `RESPONSE_STREAM` para habilitar la transmisión de respuestas de Lambda a través de API Gateway, lo que permite que la función transmita las respuestas a los clientes. Cuando se establece en`RESPONSE_STREAM`, API Gateway utiliza la API Lambda InvokeWithResponseStreaming .  
*Tipo:* cadena  
*Obligatorio*: no  
*Valores válidos*: `BUFFERED` \$1 `RESPONSE_STREAM`  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode)propiedad de un`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
Tiempo de espera personalizado entre 50 y 29 000 milisegundos.  
Al especificar esta propiedad, AWS SAM modifica la definición de OpenAPI. La definición de OpenAPI debe especificarse en línea mediante la propiedad `DefinitionBody`. 
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: 29 000 milisegundos (29 segundos)  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### Ejemplo básico
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```

# ApiFunctionAuth
<a name="sam-property-function-apifunctionauth"></a>

Configura la autorización a nivel de evento para una API, una ruta y un método específicos.

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

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

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

```
  [ApiKeyRequired](#sam-function-apifunctionauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-function-apifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-apifunctionauth-authorizer): String
  [InvokeRole](#sam-function-apifunctionauth-invokerole): String
  OverrideApiAuth: Boolean
  [ResourcePolicy](#sam-function-apifunctionauth-resourcepolicy): ResourcePolicyStatement
```

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

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
Requiere una clave de API para esta API, ruta y método.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
Los ámbitos de autorización que se aplicarán a esta API, ruta y método.  
Los ámbitos que especifica anularán los ámbitos aplicados por la propiedad de `DefaultAuthorizer` si los ha especificado.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
`Authorizer` para una función específica.  
Si ha especificado un autorizador global para su recurso `AWS::Serverless::Api`, puede anular el autorizador configurando `Authorizer` como `NONE`. Para ver un ejemplo, consulta [Anule un autorizador global para su API de REST de Amazon API Gateway](#sam-property-function-apifunctionauth--examples--override).  
Si utiliza la propiedad `DefinitionBody` de un recurso de `AWS::Serverless::Api` para describir su API, debe usar `OverrideApiAuth` con `Authorizer` para anular su autorizador global. Para obtener más información, consulta `OverrideApiAuth`.
*Valores válidos*: `AWS_IAM``NONE`, o el identificador lógico de cualquier autorizador definido en la AWS SAM plantilla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
Especifica qué `InvokeRole` utilizar para la autorización de `AWS_IAM`.  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: `CALLER_CREDENTIALS`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: `CALLER_CREDENTIALS` asigna a `arn:aws:iam:::<user>/`, que utiliza las credenciales de la persona que llama para invocar el punto de conexión.

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
Especifica como `true` para anular la configuración del autorizador global de su recurso `AWS::Serverless::Api`. Esta propiedad solo es necesaria si usted especifica un autorizador global y utiliza la propiedad `DefinitionBody` de un recurso `AWS::Serverless::Api` para describir su API.  
Si especificas `OverrideApiAuth` como`true`, AWS SAM anulará tu autorizador global con los valores proporcionados para `ApiKeyRequired``Authorizer`, o. `ResourcePolicy` Por lo tanto, al utilizar `OverrideApiAuth` también se debe especificar al menos una de estas propiedades. Para ver un ejemplo, consulta [Anula un autorizador global cuando se especifique for DefinitionBody AWS::Serverless::Api](#sam-property-function-apifunctionauth--examples--override2).
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
Configura la política de recursos para esta ruta en una API.  
*Tipo:* [ResourcePolicyStatement](sam-property-function-resourcepolicystatement.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Autenticación de funciones
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

El siguiente ejemplo especifica la autorización a nivel de función.

#### YAML
<a name="sam-property-function-apifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

### Anule un autorizador global para su API de REST de Amazon API Gateway
<a name="sam-property-function-apifunctionauth--examples--override"></a>

Puedes especificar un autorizador global para su recurso `AWS::Serverless::Api`. A continuación se muestra un ejemplo que configura un autorizador predeterminado global:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

Para anular el autorizador predeterminado de tu AWS Lambda función, puedes `Authorizer` especificarlo como. `NONE` A continuación, se muestra un ejemplo:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  ...
  MyFn:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Events:
        LambdaRequest:
          Type: Api
          Properties:
            RestApiId: !Ref MyApiWithLambdaRequestAuth
            Method: GET
            Auth:
              Authorizer: NONE
```

### Anula un autorizador global cuando se especifique for DefinitionBody AWS::Serverless::Api
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

Al utilizar la propiedad `DefinitionBody` para describir el recurso `AWS::Serverless::Api`, el método de anulación anterior no funciona. A continuación se muestra un ejemplo del uso de la propiedad `DefinitionBody` para un recurso `AWS::Serverless::Api`:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2.0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

Para anular el autorizador global, utilice la propiedad `OverrideApiAuth`. El siguiente es un ejemplo que utiliza `OverrideApiAuth` para anular el autorizador global con el valor proporcionado para `Authorizer`:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2-0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
    
    MyAuthFn:
      Type: AWS::Serverless::Function
      ...
    
    MyFn:
      Type: AWS::Serverless::Function
        Properties:
          ...
          Events:
            LambdaRequest:
              Type: Api
              Properties:
                RestApiId: !Ref MyApiWithLambdaRequestAuth
                Method: GET
                Auth:
                  Authorizer: NONE
                  OverrideApiAuth: true
                Path: /lambda-token
```

# ResourcePolicyStatement
<a name="sam-property-function-resourcepolicystatement"></a>

Configura una política de recursos para todos los métodos y rutas de una API. Para obtener más información sobre las políticas de recursos, consulta [Controlar el acceso a una API con las políticas de recursos de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) en la *Guía para desarrolladores de API Gateway*.

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

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

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

```
  [AwsAccountBlacklist](#sam-function-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-function-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-function-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-function-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-function-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-function-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-function-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-function-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-function-resourcepolicystatement-sourcevpcwhitelist): List
```

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

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
Las AWS cuentas que se van a bloquear.  
*Tipo*: lista de cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
Las AWS cuentas que se van a permitir. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista de cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
Una lista de instrucciones de política de recursos personalizadas para aplicarlas a esta API. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
La lista de nubes privadas virtuales (VPCs) que se van a bloquear, en la que cada VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la función `Ref` [intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La lista de VPCs permitidos, donde cada VPC se especifica como una referencia, como una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la función `Ref` [intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
La lista de puntos de conexión de VPC que se van a bloquear, donde cada punto de conexión de VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la [función intrínseca `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
La lista de nubes privadas virtuales (VPC) permitidas, donde cada punto de conexión de VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la [función intrínseca `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
Las direcciones IP o los rangos de direcciones que se van a bloquear. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
Las direcciones IP o los rangos de direcciones que se van a permitir.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
La VPC de origen o los puntos de conexión de VPC que se van a bloquear. Los nombres de la VPC de origen deben empezar por `"vpc-"` y los nombres de los puntos de conexión de VPC de origen deben empezar por `"vpce-"`. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
La VPC de origen o los puntos de conexión de VPC que se van a permitir. Los nombres de la VPC de origen deben empezar por `"vpc-"` y los nombres de los puntos de conexión de VPC de origen deben empezar por `"vpce-"`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Ejemplo de política de recursos
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

El siguiente ejemplo bloquea dos direcciones IP y una VPC de origen y permite una AWS cuenta.

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

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# RequestModel
<a name="sam-property-function-requestmodel"></a>

Configura un modelo de solicitud para una API\$1ruta\$1método específicos.

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

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

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

```
  [Model](#sam-function-requestmodel-model): String
  [Required](#sam-function-requestmodel-required): Boolean
  [ValidateBody](#sam-function-requestmodel-validatebody): Boolean
  [ValidateParameters](#sam-function-requestmodel-validateparameters): Boolean
```

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

 `Model`   <a name="sam-function-requestmodel-model"></a>
Nombre de un modelo definido en la propiedad Modelos del [AWS::Serverless::Api](sam-resource-api.md).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Required`   <a name="sam-function-requestmodel-required"></a>
Añade una `required` propiedad en la sección de parámetros de la OpenApi definición para el punto final de la API en cuestión.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ValidateBody`   <a name="sam-function-requestmodel-validatebody"></a>
Especifica si API Gateway utiliza el `Model` para validar el cuerpo de la solicitud. Para obtener más información, consulta [Habilitar la validación de solicitudes en API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) en la *Guía para desarrolladores de API Gateway*.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ValidateParameters`   <a name="sam-function-requestmodel-validateparameters"></a>
Especifica si API Gateway utiliza el `Model` para validar los parámetros de la ruta de solicitud, las cadenas de consulta y los encabezados. Para obtener más información, consulta [Habilitar la validación de solicitudes en API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) en la *Guía para desarrolladores de API Gateway*.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Modelo de solicitud
<a name="sam-property-function-requestmodel--examples--request-model"></a>

Ejemplo de modelo de solicitud

#### YAML
<a name="sam-property-function-requestmodel--examples--request-model--yaml"></a>

```
RequestModel:
  Model: User
  Required: true
  ValidateBody: true
  ValidateParameters: true
```

# RequestParameter
<a name="sam-property-function-requestparameter"></a>

Configura un parámetro de solicitud para una API\$1ruta\$1método específicos.

Se debe especificar una propiedad tanto `Required` como `Caching` para el parámetro de solicitud

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

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

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

```
  [Caching](#sam-function-requestparameter-caching): Boolean
  [Required](#sam-function-requestparameter-required): Boolean
```

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

 `Caching`   <a name="sam-function-requestparameter-caching"></a>
Añade una `cacheKeyParameters` sección a la OpenApi definición de API Gateway  
*Tipo*: Booleano  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Required`   <a name="sam-function-requestparameter-required"></a>
Este campo especifica si un parámetro es necesario.  
*Tipo*: Booleano  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Parámetro de solicitud
<a name="sam-property-function-requestparameter--examples--request-parameter"></a>

Ejemplo de configuración de los parámetros de solicitud

#### YAML
<a name="sam-property-function-requestparameter--examples--request-parameter--yaml"></a>

```
RequestParameters:
  - method.request.header.Authorization:
      Required: true
      Caching: true
```

# CloudWatchEvent
<a name="sam-property-function-cloudwatchevent"></a>

El objeto que describe un tipo de fuente de evento `CloudWatchEvent`.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)recurso cuando se establece este tipo de evento.

**Nota importante**: [EventBridgeRule](sam-property-function-eventbridgerule.md) es el tipo de fuente de eventos preferido para usar, en lugar de`CloudWatchEvent`. `EventBridgeRule`y `CloudWatchEvent` usa el mismo servicio, API y CloudFormation recursos subyacentes. Sin embargo, solo AWS SAM agregará soporte para nuevas funciones para`EventBridgeRule`.

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

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

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

```
  [Enabled](#sam-function-cloudwatchevent-enabled): Boolean
  [EventBusName](#sam-function-cloudwatchevent-eventbusname): String
  [Input](#sam-function-cloudwatchevent-input): String
  [InputPath](#sam-function-cloudwatchevent-inputpath): String
  [Pattern](#sam-function-cloudwatchevent-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  [State](#sam-function-cloudwatchevent-state): String
```

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

 `Enabled`   <a name="sam-function-cloudwatchevent-enabled"></a>
Indica si la regla está habilitada.  
Para deshabilitar la regla, defina esta propiedad en `false`.  
Especifique la propiedad `Enabled` o `State`, pero no ambas.
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso. Si esta propiedad se establece en, `true` entonces, se AWS SAM aprueba; de lo contrario`ENABLED`, se aprueba`DISABLED`.

 `EventBusName`   <a name="sam-function-cloudwatchevent-eventbusname"></a>
El bus de eventos que se asociará a esta regla. Si omite esta propiedad, AWS SAM utiliza el bus de eventos predeterminado.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: bus de eventos predeterminado  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propiedad de un `AWS::Events::Rule` recurso.

 `Input`   <a name="sam-function-cloudwatchevent-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propiedad de un `AWS::Events::Rule Target` recurso.

 `InputPath`   <a name="sam-function-cloudwatchevent-inputpath"></a>
Cuando no desee pasar todo el evento coincidente al destino, utilice la propiedad `InputPath` para describir qué parte del evento pasar.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propiedad de un `AWS::Events::Rule Target` recurso.

 `Pattern`   <a name="sam-function-cloudwatchevent-pattern"></a>
Describe qué eventos se dirigen al destino especificado. Para obtener más información, consulte [Eventos y patrones de eventos EventBridge en](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) la *Guía del EventBridge usuario de Amazon*.  
*Tipo:* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propiedad de un `AWS::Events::Rule` recurso.

 `State`   <a name="sam-function-cloudwatchevent-state"></a>
El estado de la regla.  
*Valores aceptados* `DISABLED | ENABLED`:  
Especifique la propiedad `Enabled` o `State`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso.

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

### CloudWatchEvent
<a name="sam-property-function-cloudwatchevent--examples--cloudwatchevent"></a>

A continuación, se muestra un ejemplo de un tipo de fuente de evento `CloudWatchEvent`.

#### YAML
<a name="sam-property-function-cloudwatchevent--examples--cloudwatchevent--yaml"></a>

```
CWEvent:
  Type: CloudWatchEvent
  Properties:
    Enabled: false
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - running
```

# CloudWatchLogs
<a name="sam-property-function-cloudwatchlogs"></a>

El objeto que describe un tipo de fuente de evento `CloudWatchLogs`.

Este evento genera un recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html), especifica un filtro de suscripción y lo asocia con el grupo de registros especificado.

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

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

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

```
  [FilterPattern](#sam-function-cloudwatchlogs-filterpattern): String
  [LogGroupName](#sam-function-cloudwatchlogs-loggroupname): String
```

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

 `FilterPattern`   <a name="sam-function-cloudwatchlogs-filterpattern"></a>
Las expresiones de filtrado que restringen lo que se entrega al AWS recurso de destino. Para obtener más información acerca de la sintaxis del patrón de filtro, consulte [Filter and Pattern Syntax](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[FilterPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-filterpattern)` propiedad de un `AWS::Logs::SubscriptionFilter` recurso.

 `LogGroupName`   <a name="sam-function-cloudwatchlogs-loggroupname"></a>
El grupo de registros que se asociará al filtro de suscripción. Todos los eventos de registro que se cargan en este grupo de registros se filtran y se envían al AWS recurso especificado si el patrón de filtrado coincide con los eventos del registro.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[LogGroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname)` propiedad de un `AWS::Logs::SubscriptionFilter` recurso.

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

### Filtro de suscripción de Cloudwatchlogs
<a name="sam-property-function-cloudwatchlogs--examples--cloudwatchlogs-subscription-filter"></a>

Ejemplo de filtro de suscripción de Cloudwatchlogs

#### YAML
<a name="sam-property-function-cloudwatchlogs--examples--cloudwatchlogs-subscription-filter--yaml"></a>

```
CWLog:
  Type: CloudWatchLogs
  Properties:
    LogGroupName:
      Ref: CloudWatchLambdaLogsGroup
    FilterPattern: My pattern
```

# Cognito
<a name="sam-property-function-cognito"></a>

El objeto que describe un tipo de fuente de evento `Cognito`.

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

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

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

```
  [Trigger](#sam-function-cognito-trigger): List
  [UserPool](#sam-function-cognito-userpool): String
```

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

 `Trigger`   <a name="sam-function-cognito-trigger"></a>
La información de configuración del desencadenador de Lambda para el nuevo grupo de usuarios.  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[LambdaConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html)` propiedad de un `AWS::Cognito::UserPool` recurso.

 `UserPool`   <a name="sam-function-cognito-userpool"></a>
Referencia a lo UserPool definido en la misma plantilla  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Cognito Event
<a name="sam-property-function-cognito--examples--cognito-event"></a>

Cognito Event Example

#### YAML
<a name="sam-property-function-cognito--examples--cognito-event--yaml"></a>

```
CognitoUserPoolPreSignup:
  Type: Cognito
  Properties:
    UserPool:
      Ref: MyCognitoUserPool
    Trigger: PreSignUp
```

# DocumentDB
<a name="sam-property-function-documentdb"></a>

El objeto que describe un tipo de fuente de evento `DocumentDB`. Para obtener más información, consulte [Uso AWS Lambda con Amazon DocumentDB](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) en la Guía para *AWS Lambda desarrolladores*.

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

Para declarar esta entidad en la AWS SAM plantilla, utilice la siguiente sintaxis.

### YAML
<a name="sam-property-function-documentdb-syntax-yaml"></a>

```
BatchSize: Integer
Cluster: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
CollectionName: String
DatabaseName: String
Enabled: Boolean
FilterCriteria: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
FullDocument: String
KmsKeyArn: String  
MaximumBatchingWindowInSeconds: Integer
SecretsManagerKmsKeyId: String
SourceAccessConfigurations: List
StartingPosition: String
StartingPositionTimestamp: Double
```

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

 `BatchSize`   <a name="sam-function-documentdb-batchsize"></a>
El número máximo de elementos que se recuperan en un único lote.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Cluster`   <a name="sam-function-documentdb-cluster"></a>
El nombre de recurso de Amazon (ARN) del clúster de Amazon DocumentDB.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `CollectionName`   <a name="sam-function-documentdb-collectionname"></a>
El nombre de la colección a consumir dentro de la base de datos. Si no especifica ninguna colección, Lambda consume todas las colecciones.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ CollectionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-collectionname)` propiedad de un tipo de `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` datos.

 `DatabaseName`   <a name="sam-function-documentdb-databasename"></a>
El nombre de la base de datos a consumir dentro del clúster de Amazon DocumentDB.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ DatabaseName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-databasename)` propiedad de un tipo de `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` datos.

 `Enabled`   <a name="sam-function-documentdb-enabled"></a>
Si es `true`, la asignación de orígenes de eventos está activa. Establézcalo en `false` para poner en pausa el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-documentdb-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FullDocument`   <a name="sam-function-documentdb-fulldocument"></a>
Determina lo que Amazon DocumentDB envía al flujo de eventos durante las operaciones de actualización del documento. Si se establece en `UpdateLookup`, Amazon DocumentDB envía un delta que describe los cambios, junto con una copia del documento completo. De lo contrario, Amazon DocumentDB envía solo un documento parcial que contiene los cambios.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ FullDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-fulldocument)` propiedad de un tipo de `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` datos.

 `KmsKeyArn`   <a name="sam-function-documentdb-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-documentdb-maximumbatchingwindowinseconds"></a>
La cantidad de tiempo máxima para recopilar registros antes de invocar la función, en segundos.  
*Tipo*: Entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `SecretsManagerKmsKeyId`   <a name="sam-function-documentdb-secretsmanagerkmskeyid"></a>
El identificador de clave AWS Key Management Service (AWS KMS) de una clave gestionada por el cliente de AWS Secrets Manager. Se requiere cuando se utiliza una clave gestionada por el cliente de Secrets Manager con un rol de ejecución de Lambda que no incluye el permiso `kms:Decrypt`.  
El valor de esta propiedad es un UUID. Por ejemplo: `1abc23d4-567f-8ab9-cde0-1fab234c5d67`.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `SourceAccessConfigurations`   <a name="sam-function-documentdb-sourceaccessconfigurations"></a>
Matriz del protocolo de autenticación o del host virtual. Especifique esto mediante el tipo [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html)de datos.  
Para el tipo de origen del evento `DocumentDB`, el único tipo de configuración válido es `BASIC_AUTH`  
+ `BASIC_AUTH`: el secreto de Secrets Manager que almacena las credenciales del agente. Para este tipo, la credencial debe tener el siguiente formato: `{"username": "your-username", "password": "your-password"}`. Solo se permite un objeto de tipo `BASIC_AUTH`.
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPosition`   <a name="sam-function-documentdb-startingposition"></a>
La posición en el flujo donde comienza la lectura.  
+ `AT_TIMESTAMP`: especifique el tiempo a partir del cual comenzar la lectura de registros.
+ `LATEST`: registros nuevos de solo lectura.
+ `TRIM_HORIZON`: procese todos los registros disponibles.
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPositionTimestamp`   <a name="sam-function-documentdb-startingpositiontimestamp"></a>
El tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix. Defina `StartingPositionTimestamp` cuando `StartingPosition` se especifica como `AT_TIMESTAMP`.  
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### Origen de eventos de Amazon DocumentDB
<a name="sam-property-function-documentdb-examples-example1"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
    ...
      Events:
        MyDDBEvent:
          Type: DocumentDB
          Properties:
            Cluster: "arn:aws:rds:us-west-2:123456789012:cluster:docdb-2023-01-01"
            BatchSize: 10
            MaximumBatchingWindowInSeconds: 5
            DatabaseName: "db1"
            CollectionName: "collection1"
            FullDocument: "UpdateLookup"
            SourceAccessConfigurations:
              - Type: BASIC_AUTH
                URI: "arn:aws:secretsmanager:us-west-2:123456789012:secret:doc-db"
```

# DynamoDB
<a name="sam-property-function-dynamodb"></a>

El objeto que describe un tipo de fuente de evento `DynamoDB`. *Para obtener más información, consulte [Uso AWS Lambda con Amazon DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) en AWS Lambda la Guía para desarrolladores.*

AWS SAM genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)recurso cuando se establece este tipo de evento.

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

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

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

```
  [BatchSize](#sam-function-dynamodb-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-dynamodb-bisectbatchonfunctionerror): Boolean
  [DestinationConfig](#sam-function-dynamodb-destinationconfig): [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)
  [Enabled](#sam-function-dynamodb-enabled): Boolean
  [FilterCriteria](#sam-function-dynamodb-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-dynamodb-functionresponsetypes): List
  KmsKeyArn: String          
  [MaximumBatchingWindowInSeconds](#sam-function-dynamodb-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-dynamodb-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-dynamodb-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-dynamodb-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ParallelizationFactor](#sam-function-dynamodb-parallelizationfactor): Integer
  [StartingPosition](#sam-function-dynamodb-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-dynamodb-stream): String
  [TumblingWindowInSeconds](#sam-function-dynamodb-tumblingwindowinseconds): Integer
```

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

 `BatchSize`   <a name="sam-function-dynamodb-batchsize"></a>
El número máximo de elementos que se recuperan en un único lote.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: 100  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.  
*Mínimo*: `1`  
*Máximo*: `1000`

 `BisectBatchOnFunctionError`   <a name="sam-function-dynamodb-bisectbatchonfunctionerror"></a>
Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `DestinationConfig`   <a name="sam-function-dynamodb-destinationconfig"></a>
Una cola de Amazon Simple Queue Service (Amazon SQS) o un destino de tema de Amazon Simple Notification Service (Amazon SNS) para registros descartados.  
*Tipo:* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Enabled`   <a name="sam-function-dynamodb-enabled"></a>
Deshabilita el mapeo de origen de eventos para pausar el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-dynamodb-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FunctionResponseTypes`   <a name="sam-function-dynamodb-functionresponsetypes"></a>
Una lista de enumeraciones de tipos de respuesta actuales aplicadas a la asignación de origen de eventos. Para obtener más información, consulta [Informes de errores de artículos en lotes](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting) en la *Guía para desarrolladores de AWS Lambda *.  
*Valores válidos*: `ReportBatchItemFailures`  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `KmsKeyArn`   <a name="sam-function-dynamodb-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-dynamodb-maximumbatchingwindowinseconds"></a>
La cantidad de tiempo máxima para recopilar registros antes de invocar la función, en segundos.  
*Tipo*: Entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-dynamodb-maximumrecordageinseconds"></a>
La antigüedad máxima de un registro que Lambda envía a una función para su procesamiento.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRetryAttempts`   <a name="sam-function-dynamodb-maximumretryattempts"></a>
El número máximo de veces que se debe volver a intentar cuando la función devuelve un error.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MetricsConfig`   <a name="sam-function-dynamodb-metricsconfig"></a>
Una configuración opcional para obtener métricas mejoradas para las asignaciones de orígenes de eventos que capturan cada etapa del procesamiento. Para ver un ejemplo, consulta [MetricsConfig evento](#sam-property-function-dynamodb-example-metricsconfigevent).  
*Tipo:* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ParallelizationFactor`   <a name="sam-function-dynamodb-parallelizationfactor"></a>
El número de lotes de cada partición que se procesarán simultáneamente.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ParallelizationFactor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPosition`   <a name="sam-function-dynamodb-startingposition"></a>
La posición en el flujo donde comienza la lectura.  
+ `AT_TIMESTAMP`: especifique el tiempo a partir del cual comenzar la lectura de registros.
+ `LATEST`: registros nuevos de solo lectura.
+ `TRIM_HORIZON`: procese todos los registros disponibles.
*Valores válidos*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPositionTimestamp`   <a name="sam-function-dynamodb-startingpositiontimestamp"></a>
El tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix. Defina `StartingPositionTimestamp` cuando `StartingPosition` se especifica como `AT_TIMESTAMP`.  
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Stream`   <a name="sam-function-dynamodb-stream"></a>
El nombre de recurso de Amazon (ARN) del flujo de DynamoDB.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `TumblingWindowInSeconds`   <a name="sam-function-dynamodb-tumblingwindowinseconds"></a>
La duración, en segundos, de una ventana de procesamiento. El intervalo válido es de 1 a 900 (15 minutos).  
Para más información, consulta [Ventanas móviles](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#streams-tumbling) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TumblingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### MetricsConfig evento
<a name="sam-property-function-dynamodb-example-metricsconfigevent"></a>

El siguiente ejemplo muestra un recurso que usa la propiedad `MetricsConfig` para capturar cada etapa del procesamiento para sus asignaciones de orígenes de eventos.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Origen de eventos de DynamoDB para la tabla de DynamoDB existente
<a name="sam-property-function-dynamodb--examples--dynamodb-event-source-for-existing-dynamodb-table"></a>

Origen de eventos de DynamoDB para una tabla de DynamoDB que ya existe en una cuenta. AWS 

#### YAML
<a name="sam-property-function-dynamodb--examples--dynamodb-event-source-for-existing-dynamodb-table--yaml"></a>

```
Events:
  DDBEvent:
    Type: DynamoDB
    Properties:
      Stream: arn:aws:dynamodb:us-east-1:123456789012:table/TestTable/stream/2016-08-11T21:21:33.291
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
```

### Evento de DynamoDB para la tabla de DynamoDB declarado en la plantilla
<a name="sam-property-function-dynamodb--examples--dynamodb-event-for-dynamodb-table-declared-in-template"></a>

Evento de DynamoDB para una tabla de DynamoDB declarada en el mismo archivo de plantilla.

#### YAML
<a name="sam-property-function-dynamodb--examples--dynamodb-event-for-dynamodb-table-declared-in-template--yaml"></a>

```
Events:
  DDBEvent:
    Type: DynamoDB
    Properties:
      Stream: 
        !GetAtt MyDynamoDBTable.StreamArn   # This must be the name of a DynamoDB table declared in the same template file
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
```

# EventBridgeRule
<a name="sam-property-function-eventbridgerule"></a>

El objeto que describe un tipo de fuente de `EventBridgeRule` eventos, que establece tu función sin servidor como el objetivo de una EventBridge regla de Amazon. Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*.

AWS SAM genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)recurso cuando se establece este tipo de evento. AWS SAM también crea un `AWS::Lambda::Permission` recurso, que es necesario para `EventBridgeRule` poder llamar a Lambda.

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

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

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

```
  [DeadLetterConfig](#sam-function-eventbridgerule-deadletterconfig): DeadLetterConfig
  [EventBusName](#sam-function-eventbridgerule-eventbusname): String
  [Input](#sam-function-eventbridgerule-input): String
  [InputPath](#sam-function-eventbridgerule-inputpath): String
  InputTransformer: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)
  [Pattern](#sam-function-eventbridgerule-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  [RetryPolicy](#sam-function-eventbridgerule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  RuleName: String 
  State: String
  [Target](#sam-function-eventbridgerule-target): Target
```

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

 `DeadLetterConfig`   <a name="sam-function-eventbridgerule-deadletterconfig"></a>
Configure la cola del Amazon Simple Queue Service (Amazon SQS), desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una función de Lambda que no existe o EventBridge cuando no hay permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
El tipo de recurso [AWS::Serverless::Function](sam-resource-function.md) tiene un tipo de datos similar, `DeadLetterQueue`, que gestiona los errores que se producen tras la invocación correcta de la función de Lambda de destino. Entre los ejemplos de estos tipos de errores se incluyen la limitación de Lambda o los errores devueltos por la función de destino de Lambda. Para obtener más información sobre la propiedad `DeadLetterQueue` de la función, consulta [Colas de mensajes fallidos](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.
*Tipo:* [DeadLetterConfig](sam-property-function-deadletterconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` propiedad del tipo de datos. `AWS::Events::Rule` `Target` La AWS SAM versión de esta propiedad incluye subpropiedades adicionales, por si AWS SAM quiere crear automáticamente una cola de texto sin procesar.

 `EventBusName`   <a name="sam-function-eventbridgerule-eventbusname"></a>
El bus de eventos que se asociará a esta regla. Si omite esta propiedad, AWS SAM utiliza el bus de eventos predeterminado.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: bus de eventos predeterminado  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propiedad de un `AWS::Events::Rule` recurso.

 `Input`   <a name="sam-function-eventbridgerule-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propiedad de un `AWS::Events::Rule Target` recurso.

 `InputPath`   <a name="sam-function-eventbridgerule-inputpath"></a>
Cuando no desee pasar todo el evento coincidente al destino, utilice la propiedad `InputPath` para describir qué parte del evento pasar.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propiedad de un `AWS::Events::Rule Target` recurso.

 `InputTransformer`   <a name="sam-function-eventbridgerule-inputtransformer"></a>
Configuración que permite proporcionar una entrada personalizada a un destino en función de determinados datos de eventos. Puedes extraer uno o más pares clave-valor del evento y, a continuación, utilizar dichos datos para enviar una entrada personalizada al destino. Para obtener más información, consulta la [transformación EventBridge de entradas de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) en la *Guía del EventBridge usuario de Amazon*.   
*Tipo:* [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)` propiedad de un tipo de `AWS::Events::Rule` `Target` datos.

 `Pattern`   <a name="sam-function-eventbridgerule-pattern"></a>
Describe qué eventos se dirigen al destino especificado. Para obtener más información, consulta [ EventBridgelos eventos y [patrones de EventBridge eventos](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) en la *Guía del EventBridge usuario de Amazon*.  
*Tipo:* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propiedad de un `AWS::Events::Rule` recurso.

 `RetryPolicy`   <a name="sam-function-eventbridgerule-retrypolicy"></a>
Objeto de la `RetryPolicy` que incluye información acerca de la configuración de la política de reintentos. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
*Tipo:* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propiedad del tipo de datos. `AWS::Events::Rule` `Target`

 `RuleName`   <a name="sam-function-eventbridgerule-rulename"></a>
El nombre de la regla.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propiedad de un `AWS::Events::Rule` recurso.

 `State`   <a name="sam-function-eventbridgerule-state"></a>
El estado de la regla.  
*Valores aceptados*: `DISABLED` \$1 `ENABLED` \$1 `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state) ` propiedad de un `AWS::Events::Rule` recurso.

 `Target`   <a name="sam-function-eventbridgerule-target"></a>
El AWS recurso que se EventBridge invoca cuando se activa una regla. Puedes utilizar esta propiedad para especificar el ID lógico del objetivo. Si no se especifica esta propiedad, AWS SAM genera el ID lógico del objetivo.  
*Tipo*: [destino](sam-property-function-target.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` propiedad de un `AWS::Events::Rule` recurso. `Amazon EC2 RebootInstances API call`es un ejemplo de una propiedad de destino. La versión AWS SAM de esta propiedad solo permite especificar el identificador lógico de un único destino.

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

### EventBridgeRule
<a name="sam-property-function-eventbridgerule--examples--eventbridgerule"></a>

A continuación, se muestra un ejemplo de un tipo de fuente de evento `EventBridgeRule`.

#### YAML
<a name="sam-property-function-eventbridgerule--examples--eventbridgerule--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - terminated
    RetryPolicy:
      MaximumRetryAttempts: 5
      MaximumEventAgeInSeconds: 900
    DeadLetterConfig:
      Type: SQS
      QueueLogicalId: EBRuleDLQ
    Target:
      Id: MyTarget
```

# DeadLetterConfig
<a name="sam-property-function-deadletterconfig"></a>

El objeto utilizado para especificar la cola del Amazon Simple Queue Service (Amazon SQS) desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, al enviar un evento a una función de Lambda que no existe o cuando EventBridge no tiene permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *

**nota**  
El tipo de recurso [AWS::Serverless::Function](sam-resource-function.md) tiene un tipo de datos similar, `DeadLetterQueue`, que gestiona los errores que se producen tras la invocación correcta de la función de Lambda de destino. Entre los ejemplos de este tipo de errores se incluyen la limitación de Lambda o los errores devueltos por la función de destino de Lambda. Para obtener más información sobre la propiedad `DeadLetterQueue` de la función, consulte [Dead-letter queues](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.

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

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

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

```
  [Arn](#sam-function-deadletterconfig-arn): String
  [QueueLogicalId](#sam-function-deadletterconfig-queuelogicalid): String
  [Type](#sam-function-deadletterconfig-type): String
```

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

 `Arn`   <a name="sam-function-deadletterconfig-arn"></a>
El nombre de recurso de Amazon (ARN) de la cola SQS de Amazon especificada como destino de la cola de mensajes fallidos.  
Especifique la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propiedad del tipo de `AWS::Events::Rule` `DeadLetterConfig` datos.

 `QueueLogicalId`   <a name="sam-function-deadletterconfig-queuelogicalid"></a>
`Type`Se especifica el nombre personalizado de la cola de cartas muertas que la AWS SAM crea.  
Si no se especifica la propiedad `Type`, entonces esta propiedad se pasa por alto.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Type`   <a name="sam-function-deadletterconfig-type"></a>
Tipo de cola. Cuando se establece esta propiedad, crea AWS SAM automáticamente una cola sin efecto y adjunta la [política basada en los recursos](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) necesaria para conceder permiso al recurso de regla para enviar eventos a la cola.  
Especifica la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Valores válidos*: `SQS`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva y no tiene un equivalente. AWS SAM CloudFormation 

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

### DeadLetterConfig
<a name="sam-property-function-deadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-function-deadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-function-target"></a>

Configura el AWS recurso que se EventBridge invoca cuando se activa una regla.

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

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

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

```
  [Id](#sam-function-target-id): String
```

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

 `Id`   <a name="sam-function-target-id"></a>
El ID lógico del destino.  
El valor de `Id` puede contener caracteres alfanuméricos, puntos (`.`), guiones (`-`) y guiones bajos (`_`).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` propiedad del tipo de `AWS::Events::Rule` `Target` datos.

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

### Target
<a name="sam-property-function-target--examples--target"></a>

#### YAML
<a name="sam-property-function-target--examples--target--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Target:
      Id: MyTarget
```

# HttpApi
<a name="sam-property-function-httpapi"></a>

El objeto que describe una fuente de eventos con su tipo HttpApi.

Si existe una OpenApi definición para la ruta y el método especificados en la API, SAM le agregará la sección de integración y seguridad de Lambda (si corresponde).

Si en la API no existe una OpenApi definición para la ruta y el método especificados, SAM creará esta definición automáticamente.

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

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

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

```
  [ApiId](#sam-function-httpapi-apiid): String
  [Auth](#sam-function-httpapi-auth): HttpApiFunctionAuth
  [Method](#sam-function-httpapi-method): String
  [Path](#sam-function-httpapi-path): String
  [PayloadFormatVersion](#sam-function-httpapi-payloadformatversion): String
  [RouteSettings](#sam-function-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [TimeoutInMillis](#sam-function-httpapi-timeoutinmillis): Integer
```

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

 `ApiId`   <a name="sam-function-httpapi-apiid"></a>
Identificador de un recurso [AWS::Serverless::HttpApi](sam-resource-httpapi.md) definido en esta plantilla.  
Si no está definido, se crea un [AWS::Serverless::HttpApi](sam-resource-httpapi.md) recurso predeterminado llamado `ServerlessHttpApi` mediante un OpenApi documento generado que contiene una unión de todas las rutas y métodos definidos por los eventos de Api definidos en esta plantilla que no especifican un`ApiId`.  
Esto no puede hacer referencia a un recurso [AWS::Serverless::HttpApi](sam-resource-httpapi.md) definido en otra plantilla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Auth`   <a name="sam-function-httpapi-auth"></a>
Configuración de autenticación para esta API, ruta y método específicos.  
Útil para anular las API `DefaultAuthorizer` o establecer la configuración de autenticación en una ruta individual cuando no se especifica ningún `DefaultAuthorizer`.  
*Tipo:* [HttpApiFunctionAuth](sam-property-function-httpapifunctionauth.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Method`   <a name="sam-function-httpapi-method"></a>
Método HTTP para el que se invoca esta función.  
Si no, `Path` y `Method` se especifican, SAM creará una ruta de API predeterminada que enruta cualquier solicitud que no se asigne a un punto de conexión diferente a esta función de Lambda. Solo puede existir una de estas rutas predeterminadas por API.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Path`   <a name="sam-function-httpapi-path"></a>
Ruta de URI para la que se invoca esta función. Debe empezar con `/`.  
Si no, `Path` y `Method` se especifican, SAM creará una ruta de API predeterminada que enruta cualquier solicitud que no se asigne a un punto de conexión diferente a esta función de Lambda. Solo puede existir una de estas rutas predeterminadas por API.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `PayloadFormatVersion`   <a name="sam-function-httpapi-payloadformatversion"></a>
Especifica el formato de la carga enviada a una integración.  
NOTA: PayloadFormatVersion requiere que SAM modifique la definición de OpenAPI, por lo que solo funciona con los elementos en línea OpenApi definidos en la propiedad. `DefinitionBody`  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: 2.0.  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `RouteSettings`   <a name="sam-function-httpapi-routesettings"></a>
La configuración de ruta por ruta para esta API HTTP. Para obtener más información sobre la configuración de rutas, consulte [AWS::ApiGatewayV2::Stage RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html)la *Guía para desarrolladores de API Gateway*.  
Nota: Si RouteSettings se especifican tanto en la fuente de HttpApi recursos como en la fuente de eventos, las AWS SAM fusiona teniendo prioridad con las propiedades de la fuente de eventos.  
*Tipo:* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propiedad de un `AWS::ApiGatewayV2::Stage` recurso.

 `TimeoutInMillis`   <a name="sam-function-httpapi-timeoutinmillis"></a>
Tiempo de espera personalizado entre 50 y 29 000 milisegundos.  
NOTA: TimeoutInMillis requiere que SAM modifique la definición de OpenAPI, por lo que solo funciona con los elementos en línea OpenApi definidos en la propiedad. `DefinitionBody`  
*Tipo*: entero  
*Obligatorio*: no  
*Predeterminado*: 5000  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### HttpApi Evento predeterminado
<a name="sam-property-function-httpapi--examples--default-httpapi-event"></a>

HttpApi Evento que utiliza la ruta predeterminada. Todas las rutas y métodos no mapeados de esta API se dirigirán a este punto de conexión.

#### YAML
<a name="sam-property-function-httpapi--examples--default-httpapi-event--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
```

### HttpApi
<a name="sam-property-function-httpapi--examples--httpapi"></a>

HttpApi Evento que usa una ruta y un método específicos.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /
      Method: GET
```

### HttpApi Autorización
<a name="sam-property-function-httpapi--examples--httpapi-authorization"></a>

HttpApi Evento que utiliza un autorizador.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi-authorization--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /authenticated
      Method: GET
      Auth:
        Authorizer: OpenIdAuth
        AuthorizationScopes:
          - scope1
          - scope2
```

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

Configura la autorización a nivel de evento.

Configura la autenticación para una API \$1 Ruta \$1 Método específica

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

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

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

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

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

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
Los ámbitos de autorización que se aplicarán a esta API, ruta y método.  
Los ámbitos que se muestran aquí anularán los ámbitos aplicados por el `DefaultAuthorizer`, si existe alguno.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
`Authorizer` para una función específica. Para utilizar la autorización de IAM, especifique `AWS_IAM` y especifique `true` para `EnableIamAuthorizer` en la sección `Globals` de tu plantilla.  
Si ha especificado un autorizador global en la API y quiere hacer pública una función específica, anule configurando `Authorizer` en `NONE`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

### Autenticación de funciones
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

Especificar la autorización a nivel de función

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### Autorización de IAM
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

Especifica la autorización de IAM a nivel de evento. Para utilizar la autorización `AWS_IAM` a nivel de evento, también debe especificar `true` para `EnableIamAuthorizer` en la sección `Globals` de tu plantilla. Para obtener más información, consulta [Sección global de la plantilla AWS SAM](sam-specification-template-anatomy-globals.md).

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```

# IoTRule
<a name="sam-property-function-iotrule"></a>

El objeto que describe un tipo de fuente de evento de `IoTRule`.

Crea un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)recurso para declarar una AWS IoT regla. Para obtener más información, consulta la [Documentación de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html).

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

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

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

```
  [AwsIotSqlVersion](#sam-function-iotrule-awsiotsqlversion): String
  [Sql](#sam-function-iotrule-sql): String
```

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

 `AwsIotSqlVersion`   <a name="sam-function-iotrule-awsiotsqlversion"></a>
Versión del motor de reglas SQL que debe utilizarse al evaluar la regla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AwsIotSqlVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-awsiotsqlversion)` propiedad de un `AWS::IoT::TopicRule TopicRulePayload` recurso.

 `Sql`   <a name="sam-function-iotrule-sql"></a>
El enunciado SQL usado para consultar el tema. Para obtener más información, consulta [SQL Reference (Referencia de SQL de AWS IoT )](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) en la *Guía para desarrolladores de AWS IoT *.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Sql](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-sql)` propiedad de un `AWS::IoT::TopicRule TopicRulePayload` recurso.

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

### Regla IOT
<a name="sam-property-function-iotrule--examples--iot-rule"></a>

Ejemplo de regla IOT

#### YAML
<a name="sam-property-function-iotrule--examples--iot-rule--yaml"></a>

```
IoTRule:
  Type: IoTRule
  Properties:
    Sql: SELECT * FROM 'topic/test'
```

# Kinesis
<a name="sam-property-function-kinesis"></a>

El objeto que describe un tipo de fuente de evento `Kinesis`. Para obtener más información, consulte [Uso AWS Lambda con Amazon Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) en la Guía para *AWS Lambda desarrolladores*.

AWS SAM genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)recurso cuando se establece este tipo de evento.

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

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

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

```
  [BatchSize](#sam-function-kinesis-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-kinesis-bisectbatchonfunctionerror): Boolean
  [DestinationConfig](#sam-function-kinesis-destinationconfig): [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)
  [Enabled](#sam-function-kinesis-enabled): Boolean
  [FilterCriteria](#sam-function-kinesis-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-kinesis-functionresponsetypes): List
  KmsKeyArn: String          
  [MaximumBatchingWindowInSeconds](#sam-function-kinesis-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-kinesis-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-kinesis-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-kinesis-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ParallelizationFactor](#sam-function-kinesis-parallelizationfactor): Integer
  [StartingPosition](#sam-function-kinesis-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-kinesis-stream): String
  [TumblingWindowInSeconds](#sam-function-kinesis-tumblingwindowinseconds): Integer
```

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

 `BatchSize`   <a name="sam-function-kinesis-batchsize"></a>
El número máximo de elementos que se recuperan en un único lote.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: 100  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.  
*Mínimo*: `1`  
*Máximo*: `10000`

 `BisectBatchOnFunctionError`   <a name="sam-function-kinesis-bisectbatchonfunctionerror"></a>
Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `DestinationConfig`   <a name="sam-function-kinesis-destinationconfig"></a>
Una cola de Amazon Simple Queue Service (Amazon SQS) o un destino de tema de Amazon Simple Notification Service (Amazon SNS) para registros descartados.  
*Tipo:* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Enabled`   <a name="sam-function-kinesis-enabled"></a>
Deshabilita el mapeo de origen de eventos para pausar el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-kinesis-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FunctionResponseTypes`   <a name="sam-function-kinesis-functionresponsetypes"></a>
Una lista de enumeraciones de tipos de respuesta actuales aplicadas a la asignación de origen de eventos. Para obtener más información, consulta [Informes de errores de artículos en lotes](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-batchfailurereporting) en la *Guía para desarrolladores de AWS Lambda *.  
*Valores válidos*: `ReportBatchItemFailures`  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `KmsKeyArn`   <a name="sam-function-kinesis-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-kinesis-maximumbatchingwindowinseconds"></a>
La cantidad de tiempo máxima para recopilar registros antes de invocar la función, en segundos.  
*Tipo*: Entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-kinesis-maximumrecordageinseconds"></a>
La antigüedad máxima de un registro que Lambda envía a una función para su procesamiento.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRetryAttempts`   <a name="sam-function-kinesis-maximumretryattempts"></a>
El número máximo de veces que se debe volver a intentar cuando la función devuelve un error.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MetricsConfig`   <a name="sam-function-kinesis-metricsconfig"></a>
Una configuración opcional para obtener métricas mejoradas para las asignaciones de orígenes de eventos que capturan cada etapa del procesamiento. Para ver un ejemplo, consulta [MetricsConfig evento](sam-property-function-dynamodb.md#sam-property-function-dynamodb-example-metricsconfigevent).  
*Tipo:* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ParallelizationFactor`   <a name="sam-function-kinesis-parallelizationfactor"></a>
El número de lotes de cada partición que se procesarán simultáneamente.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ParallelizationFactor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPosition`   <a name="sam-function-kinesis-startingposition"></a>
La posición en el flujo donde comienza la lectura.  
+ `AT_TIMESTAMP`: especifique el tiempo a partir del cual comenzar la lectura de registros.
+ `LATEST`: registros nuevos de solo lectura.
+ `TRIM_HORIZON`: procese todos los registros disponibles.
*Valores válidos*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPositionTimestamp`   <a name="sam-function-kinesis-startingpositiontimestamp"></a>
El tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix. Defina `StartingPositionTimestamp` cuando `StartingPosition` se especifica como `AT_TIMESTAMP`.  
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Stream`   <a name="sam-function-kinesis-stream"></a>
El nombre de recurso de Amazon (ARN) del flujo de datos un consumidor de flujos.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `TumblingWindowInSeconds`   <a name="sam-function-kinesis-tumblingwindowinseconds"></a>
La duración, en segundos, de una ventana de procesamiento. El intervalo válido es de 1 a 900 (15 minutos).  
Para más información, consulta [Ventanas móviles](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#streams-tumbling) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TumblingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### MetricsConfig evento
<a name="sam-property-function-kinesis-example-metricsconfigevent"></a>

El siguiente ejemplo muestra un recurso que usa la propiedad `MetricsConfig` para capturar cada etapa del procesamiento para sus asignaciones de orígenes de eventos.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Origen de eventos de Kinesis
<a name="sam-property-function-kinesis--examples--kinesis-event-source"></a>

A continuación, se muestra un ejemplo de origen de evento de Kinesis.

#### YAML
<a name="sam-property-function-kinesis--examples--kinesis-event-source--yaml"></a>

```
Events:
  KinesisEvent:
    Type: Kinesis
    Properties:
      Stream: arn:aws:kinesis:us-east-1:123456789012:stream/my-stream
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
      FilterCriteria: 
        Filters: 
          - Pattern: '{"key": ["val1", "val2"]}'
```

# MQ
<a name="sam-property-function-mq"></a>

El objeto que describe un tipo de fuente de evento de `MQ`. Para obtener más información, consulta [Uso de Lambda con Amazon MQ](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html) en la *Guía para desarrolladores de AWS Lambda *.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)recurso cuando se establece este tipo de evento.

**nota**  
Para tener una cola de Amazon MQ en una nube privada virtual (VPC) que se conecte a una función de Lambda en una red pública, el rol de ejecución de la función debe incluir los siguientes permisos:   
`ec2:CreateNetworkInterface`
`ec2:DeleteNetworkInterface`
`ec2:DescribeNetworkInterfaces`
`ec2:DescribeSecurityGroups`
`ec2:DescribeSubnets`
`ec2:DescribeVpcs`
Para obtener más información, consulta [Permisos del rol de ejecución](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#events-mq-permissions) en la *Guía para desarrolladores de AWS Lambda *.

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

Para declarar esta entidad en la AWS SAM plantilla, utilice la siguiente sintaxis.

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

```
  [BatchSize](#sam-function-mq-batchsize): Integer
  [Broker](#sam-function-mq-broker): String
  DynamicPolicyName: Boolean
  [Enabled](#sam-function-mq-enabled): Boolean
  [FilterCriteria](#sam-function-mq-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  KmsKeyArn: String 
  [MaximumBatchingWindowInSeconds](#sam-function-mq-maximumbatchingwindowinseconds): Integer
  [Queues](#sam-function-mq-queues): List
  [SecretsManagerKmsKeyId](#sam-function-mq-secretsmanagerkmskeyid): String
  [SourceAccessConfigurations](#sam-function-mq-sourceaccessconfigurations): List
```

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

 `BatchSize`   <a name="sam-function-mq-batchsize"></a>
El número máximo de elementos que se recuperan en un único lote.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: 100  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.  
*Mínimo*: `1`  
*Máximo*: `10000`

 `Broker`   <a name="sam-function-mq-broker"></a>
El nombre de recurso de Amazon (ARN) del agente de Amazon MQ.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `DynamicPolicyName`   <a name="sam-function-mq-dynamicpolicyname"></a>
De forma predeterminada, el nombre de la política AWS Identity and Access Management (IAM) es `SamAutoGeneratedAMQPolicy` de compatibilidad con versiones anteriores. Especifica `true` para que utilice un nombre generado automáticamente para su política de IAM. Este nombre incluirá el ID lógico del origen del evento de Amazon MQ.  
Si utiliza más de un origen de eventos de Amazon MQ, especifique `true` para que no se dupliquen los nombres de las políticas de IAM.
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: `false`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Enabled`   <a name="sam-function-mq-enabled"></a>
Si es `true`, la asignación de orígenes de eventos está activa. Establézcalo en `false` para poner en pausa el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-mq-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `KmsKeyArn`   <a name="sam-function-mq-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-mq-maximumbatchingwindowinseconds"></a>
La cantidad de tiempo máxima para recopilar registros antes de invocar la función, en segundos.  
*Tipo*: Entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Queues`   <a name="sam-function-mq-queues"></a>
Nombre de la cola de destino del agente de Amazon MQ que se va a consumir.  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Queues](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `SecretsManagerKmsKeyId`   <a name="sam-function-mq-secretsmanagerkmskeyid"></a>
El identificador de clave AWS Key Management Service (AWS KMS) de una clave gestionada por el cliente desde AWS Secrets Manager. Se requiere cuando se utiliza una clave gestionada por el cliente de Secrets Manager con una función de ejecución de Lambda que no incluye el permiso de `kms:Decrypt`.  
El valor de esta propiedad es un UUID. Por ejemplo: `1abc23d4-567f-8ab9-cde0-1fab234c5d67`.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceAccessConfigurations`   <a name="sam-function-mq-sourceaccessconfigurations"></a>
Una matriz del protocolo de autenticación para un host virtual. Especifique esto mediante el tipo [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html)de datos.  
Para el tipo de origen del evento de `MQ`, los únicos tipos de configuración válidos son `BASIC_AUTH` y `VIRTUAL_HOST`.  
+ **`BASIC_AUTH`**: el secreto de Secrets Manager que almacena las credenciales del agente. Para este tipo, la credencial debe tener el siguiente formato: `{"username": "your-username", "password": "your-password"}`. Solo se permite un objeto de tipo `BASIC_AUTH`.
+ **`VIRTUAL_HOST`**: el nombre del host virtual en el agente de RabbitMQ. Lambda utilizará este host de RabbitMQ como el origen de eventos. Solo se permite un objeto de tipo `VIRTUAL_HOST`.
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### Origen de eventos de Amazon MQ
<a name="sam-property-function-mq--examples--amazon-mq-event-source"></a>

A continuación, se muestra un ejemplo de un tipo de origen de evento `MQ` para un agente de Amazon MQ.

#### YAML
<a name="sam-property-function-mq--examples--amazon-mq-event-source--yaml"></a>

```
Events:
  MQEvent:
    Type: MQ
    Properties:
      Broker: arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9
      Queues: List of queues
      SourceAccessConfigurations:
        - Type: BASIC_AUTH
          URI: arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName
      BatchSize: 200
      Enabled: true
```

# MSK
<a name="sam-property-function-msk"></a>

El objeto que describe un tipo de fuente de evento de `MSK`. Para obtener más información, consulte [Uso AWS Lambda con Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) en la *Guía para AWS Lambda desarrolladores*.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)recurso cuando se establece este tipo de evento.

Para utilizar Schema Registry, debe definir los permisos de rol de IAM específicos para su función. Consulte la [Configuración completa con roles de IAM](#sam-property-function-msk-example-complete) para ver un ejemplo de la configuración necesaria.

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

Para declarar esta entidad en la AWS SAM plantilla, utilice la siguiente sintaxis.

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

```
  [BatchSize](#sam-function-msk-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-msk-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-msk-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-msk-enabled): Boolean
  [FilterCriteria](#sam-function-msk-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-msk-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-msk-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-msk-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-msk-maximumretryattempts): Integer
  [LoggingConfig](#sam-function-msk-loggingconfig): [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)
  [MetricsConfig](#sam-function-msk-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)
  [ProvisionedPollerConfig](#sam-function-msk-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-msk-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  SourceAccessConfigurations: [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  [StartingPosition](#sam-function-msk-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-msk-stream): String
  [Topics](#sam-function-msk-topics): List
```

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

 `BatchSize`   <a name="sam-function-msk-batchsize"></a>
El número máximo de registros en cada lote que Lambda extrae del flujo o la cola y envía a su función. Lambda pasa todos los registros del lote a la función en una sola llamada hasta el límite de carga para la invocación síncrona (6 MB).  
*Valor predeterminado*: 100  
*Rango válido*: valor mínimo de 1. Valor máximo de 10 000.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `BisectBatchOnFunctionError`   <a name="sam-function-msk-bisectbatchonfunctionerror"></a>
Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ConsumerGroupId`   <a name="sam-function-msk-consumergroupid"></a>
Cadena que configura cómo se leerán los eventos de los temas de Kafka.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AmazonManagedKafkaConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `DestinationConfig`   <a name="sam-function-msk-destinationconfig"></a>
Un objeto de configuración que especifica el destino de un evento después de que Lambda lo procese.  
Utilice esta propiedad para especificar el destino de las invocaciones fallidas desde el origen de eventos de Amazon MSK.  
*Tipo:* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Enabled`   <a name="sam-function-msk-enabled"></a>
Deshabilita el mapeo de origen de eventos para pausar el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-msk-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FunctionResponseTypes`   <a name="sam-function-msk-functionresponsetypes"></a>
Una lista de enumeraciones de tipos de respuesta actuales aplicadas a la asignación de origen de eventos. Para obtener más información, consulta [Informes de errores de artículos en lotes](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Valores válidos*: `ReportBatchItemFailures`  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `KmsKeyArn`   <a name="sam-function-msk-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-msk-maximumbatchingwindowinseconds"></a>
La cantidad de tiempo máxima para recopilar registros antes de invocar la función, en segundos.  
*Tipo*: Entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-msk-maximumrecordageinseconds"></a>
La antigüedad máxima de un registro que Lambda envía a una función para su procesamiento.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRetryAttempts`   <a name="sam-function-msk-maximumretryattempts"></a>
El número máximo de veces que se debe volver a intentar cuando la función devuelve un error.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `LoggingConfig`   <a name="sam-function-msk-loggingconfig"></a>
Objeto de configuración que especifica la configuración de registro para el mapeo de la fuente del evento.  
*Tipo:* [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MetricsConfig`   <a name="sam-function-msk-metricsconfig"></a>
Un objeto de configuración que especifica la configuración de las métricas para el mapeo de la fuente del evento.  
*Tipo:* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ProvisionedPollerConfig`   <a name="sam-function-msk-provisionedpollerconfig"></a>
Configuración para aumentar la cantidad de sondeos utilizados para calcular las asignaciones de orígenes de eventos. Esta configuración permite un mínimo de 1 sondeador y un máximo de 2000 sondeadores. Para ver un ejemplo, consulte [ProvisionedPollerConfig ejemplo](#sam-property-function-msk-example-provisionedpollerconfig).  
*Tipo:* [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

`SchemaRegistryConfig`  <a name="sam-function-msk-schemaregistryconfig"></a>
Configuración para usar un registro de esquemas con el origen de eventos de Kafka.  
Esta característica solicita que se configue `ProvisionedPollerConfig`.
*Tipo*: SchemaRegistryConfig  
*Obligatorio*: no  
*CloudFormation compatibilidad:* esta propiedad se pasa directamente a la `[AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `SourceAccessConfigurations`   <a name="sam-function-msk-sourceaccessconfigurations"></a>
Una matriz del protocolo de autenticación, los componentes de VPC o el host virtual para proteger y definir su origen de eventos.  
*Valores válidos*: `CLIENT_CERTIFICATE_TLS_AUTH`  
*Tipo*: lista de [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad:* esta propiedad forma parte de la [AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig)propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPosition`   <a name="sam-function-msk-startingposition"></a>
La posición en el flujo donde comienza la lectura.  
+ `AT_TIMESTAMP`: especifique el tiempo a partir del cual comenzar la lectura de registros.
+ `LATEST`: registros nuevos de solo lectura.
+ `TRIM_HORIZON`: procese todos los registros disponibles.
*Valores válidos*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPositionTimestamp`   <a name="sam-function-msk-startingpositiontimestamp"></a>
El tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix. Defina `StartingPositionTimestamp` cuando `StartingPosition` se especifica como `AT_TIMESTAMP`.  
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Stream`   <a name="sam-function-msk-stream"></a>
El nombre de recurso de Amazon (ARN) del flujo de datos un consumidor de flujos.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Topics`   <a name="sam-function-msk-topics"></a>
El nombre del tema de Kafka.  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### Configuración completa con los roles de IAM
<a name="sam-property-function-msk-example-complete"></a>

El siguiente ejemplo muestra una configuración completa que incluye la configuración del rol de IAM necesaria para usar Schema Registry:

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String
  MskClusterName4:
    Type: String

Resources:
  MyLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Action: [sts:AssumeRole]
          Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
      Policies:
      - PolicyName: KafkaClusterPermissions
        PolicyDocument:
          Statement:
          - Action: [kafka:DescribeClusterV2, kafka:GetBootstrapBrokers]
            Effect: Allow
            Resource: 'arn:aws:kafka:us-east-1:123456789012:cluster/*'
      - PolicyName: KafkaAuthPolicy
        PolicyDocument:
          Statement:
          - Action: [secretsmanager:GetSecretValue, kms:Decrypt]
            Effect: "Allow"
            Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******',
                        'arn:aws:kms:us-west-2:123456789012:key/keyId']
      - PolicyName: ENIPolicy
        PolicyDocument:
          Statement:
          - Action: [ec2:CreateNetworkInterface,
              ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface,
              ec2:DescribeSubnets, ec2:DescribeSecurityGroups]
            Effect: Allow
            Resource: '*'
      - PolicyName: SchemaRegistryPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetRegistry]
            Effect: Allow
            Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}'
      - PolicyName: SchemaVersionsPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetSchemaVersions]
            Effect: Allow
            Resource: '*'
      ManagedPolicyArns:
      - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
      - {Value: SAM, Key: lambda:createdBy}

  MyMskCluster:
    Type: AWS::MSK::Cluster
    Properties:
      BrokerNodeGroupInfo:
        ClientSubnets:
        - Ref: PreCreatedSubnetOne
        - Ref: PreCreatedSubnetTwo
        InstanceType: kafka.t3.small
        StorageInfo:
          EBSStorageInfo:
            VolumeSize: 1
      ClusterName:
        Ref: MskClusterName4
      KafkaVersion: 3.8.x
      NumberOfBrokerNodes: 2

  MyMskStreamProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        MyMskEvent:
          Type: MSK
          Properties:
            StartingPosition: LATEST
            Stream:
              Ref: MyMskCluster
            SourceAccessConfigurations:
            - Type: SASL_SCRAM_512_AUTH
              URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            Topics:
            - SchemaRegistryTestTopic
            ProvisionedPollerConfig:
              MinimumPollers: 1
            SchemaRegistryConfig:
              AccessConfigs:
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
              SchemaValidationConfigs:
              - Attribute: KEY
              EventRecordFormat: JSON
              SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
```

### ProvisionedPollerConfig ejemplo
<a name="sam-property-function-msk-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### Ejemplo de Amazon MSK para un clúster existente
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster"></a>

El siguiente es un ejemplo de un tipo de origen de eventos `MSK` para un clúster de Amazon MSK que ya existe en un Cuenta de AWS.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream: arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2
      Topics:
        - MyTopic
```

### Ejemplo de Amazon MSK para un clúster declarado en la misma plantilla
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template"></a>

El siguiente es un ejemplo de un tipo de origen de eventos `MSK` para un clúster de Amazon MSK que está declarado en el mismo archivo de plantilla.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster   # This must be the name of an MSK cluster declared in the same template file
      Topics:
        - MyTopic
```

#### Origen de eventos de MSK con Schema Registry
<a name="sam-property-function-msk-example-schemaregistry"></a>

A continuación, se muestra un ejemplo de un tipo de origen de evento de `MSK`configurado con Schema Registry.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

#### Origen de eventos de MSK con Schema Registry confluentes
<a name="sam-property-function-msk-example-schemaregistry-confluent"></a>

A continuación, se muestra un ejemplo de un tipo de origen de evento de `MSK`configurado con Schema Registry confluente.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: https://my-schema-registry.confluent.cloud
        AccessConfigs:
          - Type: BASIC_AUTH
            URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

# S3
<a name="sam-property-function-s3"></a>

El objeto que describe un tipo de fuente de evento de `S3`.

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

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

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

```
  [Bucket](#sam-function-s3-bucket): String
  [Events](#sam-function-s3-events): String | List
  [Filter](#sam-function-s3-filter): [NotificationFilter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)
```

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

 `Bucket`   <a name="sam-function-s3-bucket"></a>
Nombre del bucket de S3. Este bucket debe existir en la misma plantilla.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[BucketName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name)` propiedad de un `AWS::S3::Bucket` recurso. Este campo es obligatorio en SAM. Este campo solo acepta una referencia al bucket de S3 creado en esta plantilla

 `Events`   <a name="sam-function-s3-events"></a>
Es el evento del bucket de Amazon S3 para el que se invoca la función de Lambda. Consulte los [tipos de eventos admitidos con Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types) para obtener una lista de valores válidos.  
*Tipo*: Cadenas \$1 Lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Event](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-event)` propiedad del tipo de `AWS::S3::Bucket` `LambdaConfiguration` datos.

 `Filter`   <a name="sam-function-s3-filter"></a>
Son las reglas de filtrado que determinan qué objetos de Amazon S3 debe invocar la función de Lambda. Para obtener más información acerca del filtrado de nombres de clave de Amazon S3, consulta [Configuración de notificaciones de eventos de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) en la *Guía del desarrollador del usuario de Amazon Simple Storage Service*.  
*Tipo:* [NotificationFilter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Filter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)` propiedad del tipo de `AWS::S3::Bucket` `LambdaConfiguration` datos.

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

### Evento de S3
<a name="sam-property-function-s3--examples--s3-event"></a>

Ejemplo de un evento de S3.

#### YAML
<a name="sam-property-function-s3--examples--s3-event--yaml"></a>

```
Events:
  S3Event:
    Type: S3
    Properties:
      Bucket:
        Ref: ImagesBucket     # This must be the name of an S3 bucket declared in the same template file
      Events: s3:ObjectCreated:*
      Filter:
        S3Key:
          Rules:
          - Name: prefix      # or "suffix"
            Value: value      # The value to search for in the S3 object key names
```

# Schedule
<a name="sam-property-function-schedule"></a>

El objeto que describe un tipo de fuente de `Schedule` eventos, que establece tu función sin servidor como el objetivo de una EventBridge regla de Amazon que se activa de forma programada. Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)recurso cuando se establece este tipo de evento.

**nota**  
EventBridge ahora ofrece una nueva capacidad de programación, [Amazon EventBridge Scheduler](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html). Amazon EventBridge Scheduler es un programador sin servidor que te permite crear, ejecutar y gestionar tareas desde un servicio gestionado centralizado. EventBridge Scheduleres altamente personalizable y ofrece una escalabilidad mejorada en comparación con las reglas EventBridge programadas, con un conjunto más amplio de operaciones de API objetivo y. Servicios de AWS  
Le recomendamos que utilice EventBridge Scheduler para invocar objetivos según una programación. Para definir este tipo de fuente de eventos en sus AWS SAM plantillas, consulte[ScheduleV2](sam-property-function-schedulev2.md).

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

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

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

```
  [DeadLetterConfig](#sam-function-schedule-deadletterconfig): DeadLetterConfig
  [Description](#sam-function-schedule-description): String
  [Enabled](#sam-function-schedule-enabled): Boolean
  [Input](#sam-function-schedule-input): String
  [Name](#sam-function-schedule-name): String
  [RetryPolicy](#sam-function-schedule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  [Schedule](#sam-function-schedule-schedule): String
  [State](#sam-function-schedule-state): String
```

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

 `DeadLetterConfig`   <a name="sam-function-schedule-deadletterconfig"></a>
Configure la cola del Amazon Simple Queue Service (Amazon SQS), desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una función de Lambda que no existe o EventBridge cuando no hay permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
El tipo de recurso [AWS::Serverless::Function](sam-resource-function.md) tiene un tipo de datos similar, `DeadLetterQueue`, que gestiona los errores que se producen tras la invocación correcta de la función de Lambda de destino. Entre los ejemplos de estos tipos de errores se incluyen la limitación de Lambda o los errores devueltos por la función de destino de Lambda. Para obtener más información sobre la propiedad `DeadLetterQueue` de la función, consulta [Colas de mensajes fallidos](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.
*Tipo:* [DeadLetterConfig](sam-property-function-scheduledeadletterconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` propiedad del tipo de datos. `AWS::Events::Rule` `Target` La AWS SAM versión de esta propiedad incluye subpropiedades adicionales, en caso de que desee AWS SAM crear automáticamente una cola de texto sin procesar.

 `Description`   <a name="sam-function-schedule-description"></a>
Una descripción del conjunto de reglas.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description)` propiedad de un recurso. `AWS::Events::Rule`

 `Enabled`   <a name="sam-function-schedule-enabled"></a>
Indica si la regla está habilitada.  
Para deshabilitar la regla, defina esta propiedad en `false`.  
Especifique la propiedad `Enabled` o `State`, pero no ambas.
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso. Si esta propiedad se establece en, `true` entonces, se AWS SAM aprueba; de lo contrario`ENABLED`, se aprueba`DISABLED`.

 `Input`   <a name="sam-function-schedule-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propiedad de un `AWS::Events::Rule Target` recurso.

 `Name`   <a name="sam-function-schedule-name"></a>
El nombre de la regla. Si no especificas un nombre, CloudFormation genera un identificador físico único y lo utiliza como nombre de la regla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propiedad de un `AWS::Events::Rule` recurso.

 `RetryPolicy`   <a name="sam-function-schedule-retrypolicy"></a>
Objeto de la `RetryPolicy` que incluye información acerca de la configuración de la política de reintentos. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
*Tipo:* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propiedad del tipo de datos. `AWS::Events::Rule` `Target`

 `Schedule`   <a name="sam-function-schedule-schedule"></a>
La expresión de programación que determina cuándo y con qué frecuencia se ejecuta la regla. Para obtener más información, consulta [Expresiones de programación para reglas](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html).  
*Tipo*: cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression)` propiedad de un `AWS::Events::Rule` recurso.

 `State`   <a name="sam-function-schedule-state"></a>
El estado de la regla.  
*Valores aceptados* `DISABLED | ENABLED`:  
Especifique la propiedad `Enabled` o `State`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso.

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

### CloudWatch Programar evento
<a name="sam-property-function-schedule--examples--cloudwatch-schedule-event"></a>

CloudWatch Ejemplo de programar un evento

#### YAML
<a name="sam-property-function-schedule--examples--cloudwatch-schedule-event--yaml"></a>

```
CWSchedule:
  Type: Schedule
  Properties:
    Schedule: 'rate(1 minute)'
    Name: TestSchedule
    Description: test schedule
    Enabled: false
```

# DeadLetterConfig
<a name="sam-property-function-scheduledeadletterconfig"></a>

El objeto utilizado para especificar la cola del Amazon Simple Queue Service (Amazon SQS) desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, al enviar un evento a una función de Lambda que no existe o cuando EventBridge no tiene permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *

**nota**  
El tipo de recurso [AWS::Serverless::Function](sam-resource-function.md) tiene un tipo de datos similar, `DeadLetterQueue`, que gestiona los errores que se producen tras la invocación correcta de la función de Lambda de destino. Entre los ejemplos de este tipo de errores se incluyen la limitación de Lambda o los errores devueltos por la función de destino de Lambda. Para obtener más información sobre la propiedad `DeadLetterQueue` de la función, consulte [Dead-letter queues](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.

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

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

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

```
  [Arn](#sam-function-scheduledeadletterconfig-arn): String
  [QueueLogicalId](#sam-function-scheduledeadletterconfig-queuelogicalid): String
  [Type](#sam-function-scheduledeadletterconfig-type): String
```

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

 `Arn`   <a name="sam-function-scheduledeadletterconfig-arn"></a>
El nombre de recurso de Amazon (ARN) de la cola SQS de Amazon especificada como destino de la cola de mensajes fallidos.  
Especifique la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propiedad del tipo de `AWS::Events::Rule` `DeadLetterConfig` datos.

 `QueueLogicalId`   <a name="sam-function-scheduledeadletterconfig-queuelogicalid"></a>
`Type`Se especifica el nombre personalizado de la cola de cartas muertas que la AWS SAM crea.  
Si no se especifica la propiedad `Type`, entonces esta propiedad se pasa por alto.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Type`   <a name="sam-function-scheduledeadletterconfig-type"></a>
Tipo de cola. Cuando se establece esta propiedad, crea AWS SAM automáticamente una cola sin efecto y adjunta la [política basada en los recursos](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) necesaria para conceder permiso al recurso de regla para enviar eventos a la cola.  
Especifica la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Valores válidos*: `SQS`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva y no tiene un equivalente. AWS SAM CloudFormation 

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

### DeadLetterConfig
<a name="sam-property-function-scheduledeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-function-scheduledeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# ScheduleV2
<a name="sam-property-function-schedulev2"></a>

El objeto que describe un tipo de fuente de `ScheduleV2` eventos, que establece su función sin servidor como el destino de un evento de Amazon EventBridge Scheduler que se desencadena de forma programada. Para obtener más información, consulte [¿Qué es Amazon EventBridge Scheduler?](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html) en la Guía del *usuario de EventBridge Scheduler*.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)recurso cuando se establece este tipo de evento.

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

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

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

```
[DeadLetterConfig](#sam-function-schedulev2-deadletterconfig): DeadLetterConfig
[Description](#sam-function-schedulev2-description): String
[EndDate](#sam-function-schedulev2-enddate): String
[FlexibleTimeWindow](#sam-function-schedulev2-flexibletimewindow): FlexibleTimeWindow
[GroupName](#sam-function-schedulev2-groupname): String
[Input](#sam-function-schedulev2-input): String
[KmsKeyArn](#sam-function-schedulev2-kmskeyarn): String
[Name](#sam-function-schedulev2-name): String
OmitName: Boolean
[PermissionsBoundary](#sam-function-schedulev2-permissionsboundary): String
[RetryPolicy](#sam-function-schedulev2-retrypolicy): RetryPolicy
[RoleArn](#sam-function-schedulev2-rolearn): String
[ScheduleExpression](#sam-function-schedulev2-schedule): String
[ScheduleExpressionTimezone](#sam-function-schedulev2-scheduleexpressiontimezone): String
[StartDate](#sam-function-schedulev2-startdate): String
[State](#sam-function-schedulev2-state): String
```

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

 `DeadLetterConfig`   <a name="sam-function-schedulev2-deadletterconfig"></a>
Configure la cola del Amazon Simple Queue Service (Amazon SQS), desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una función de Lambda que no existe o EventBridge cuando no hay permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulte [Configurar una cola de letra muerta para Scheduler en la Guía del usuario de Scheduler EventBridge ](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html). EventBridge *  
El tipo de recurso [AWS::Serverless::Function](sam-resource-function.md) tiene un tipo de datos similar, `DeadLetterQueue`, que gestiona los errores que se producen tras la invocación correcta de la función de Lambda de destino. Entre los ejemplos de estos tipos de errores se incluyen la limitación de Lambda o los errores devueltos por la función de destino de Lambda. Para obtener más información sobre la propiedad `DeadLetterQueue` de la función, consulta [Colas de mensajes fallidos](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq) en la *Guía para desarrolladores de AWS Lambda *.
*Tipo:* [DeadLetterConfig](sam-property-function-scheduledeadletterconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig)` propiedad del tipo de datos. `AWS::Scheduler::Schedule` `Target` La AWS SAM versión de esta propiedad incluye subpropiedades adicionales, por si AWS SAM quiere crear automáticamente una cola de texto sin procesar.

 `Description`   <a name="sam-function-schedulev2-description"></a>
Una descripción del programa.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-description)` propiedad de un recurso. `AWS::Scheduler::Schedule`

 `EndDate`   <a name="sam-function-schedulev2-enddate"></a>
La fecha, en UTC, antes de la cual la programación puede invocar su destino. Según la expresión de recurrencia de la programación, las invocaciones se pueden detener en la **EndDate** que especifica o antes de ella.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EndDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `FlexibleTimeWindow`   <a name="sam-function-schedulev2-flexibletimewindow"></a>
Permite configurar una ventana en la cual se puede invocar una programación.  
*Tipo:* [FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `GroupName`   <a name="sam-function-schedulev2-groupname"></a>
El nombre de grupo de programación asociado a esta programación. Si no está definido, se utiliza el grupo predeterminado.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[GroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `Input`   <a name="sam-function-schedulev2-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input)` propiedad de un `AWS::Scheduler::Schedule Target` recurso.

 `KmsKeyArn`   <a name="sam-function-schedulev2-kmskeyarn"></a>
El ARN de una clave de KMS que se utiliza para cifrar datos personalizados.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `Name`   <a name="sam-function-schedulev2-name"></a>
El nombre de la programación. Si no especifica un nombre, AWS SAM genera un nombre en el formato `Function-Logical-IDEvent-Source-Name` y usa ese ID como nombre del programa.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name)` propiedad de un `AWS::Scheduler::Schedule` recurso.

`OmitName`  <a name="sam-function-schedulev2-omitname"></a>
De forma predeterminada, AWS SAM genera y usa un nombre de programación con el formato de*<Function-logical-ID><event-source-name>*. Establezca esta propiedad `true` para CloudFormation generar un identificador físico único y utilícelo en su lugar para el nombre del programa.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: `false`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `PermissionsBoundary`   <a name="sam-function-schedulev2-permissionsboundary"></a>
El ARN de la política que se utilizará para definir el límite de los permisos para el rol.  
Si `PermissionsBoundary` está definido, AWS SAM aplicará los mismos límites a la función de IAM objetivo del programador.
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere 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.

 `RetryPolicy`   <a name="sam-function-schedulev2-retrypolicy"></a>
Objeto de la **RetryPolicy** que incluye información acerca de la configuración de la política de reintentos.  
*Tipo:* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)` propiedad del tipo de `AWS::Scheduler::Schedule` `Target` datos.

 `RoleArn`   <a name="sam-function-schedulev2-rolearn"></a>
El ARN de la función de IAM que EventBridge Scheduler utilizará para el destino cuando se invoque la programación.  
*Tipo:* [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` propiedad del tipo de `AWS::Scheduler::Schedule` `Target` datos.

 `ScheduleExpression`   <a name="sam-function-schedulev2-scheduleexpression"></a>
La expresión de programación que determina cuándo y con qué frecuencia se ejecuta el evento programado.  
*Tipo*: cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `ScheduleExpressionTimezone`   <a name="sam-function-schedulev2-scheduleexpressiontimezone"></a>
La zona horaria en la que se evalúa la expresión de programación.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ScheduleExpressionTimezone](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `StartDate`   <a name="sam-function-schedulev2-startdate"></a>
La fecha, en UTC, después de la cual la programación puede invocar un objetivo. Según la expresión de recurrencia de la programación, las invocaciones se pueden realizar en la **StartDate** que especifica o después de ella.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `State`   <a name="sam-function-schedulev2-state"></a>
Estado de la programación del programador.  
*Valores aceptados* `DISABLED | ENABLED`:  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state)` propiedad de un `AWS::Scheduler::Schedule` recurso.

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

### Ejemplo básico de definición de un recurso de ScheduleV2
<a name="sam-property-function-schedulev2--examples--example1"></a>

```
Resources:
  Function:
    Properties:
      ...
      Events:
        ScheduleEvent:
          Type: ScheduleV2
          Properties:
            ScheduleExpression: "rate(1 minute)"
        ComplexScheduleEvent:
          Type: ScheduleV2
          Properties:
            ScheduleExpression: rate(1 minute)
            FlexibleTimeWindow:
              Mode: FLEXIBLE
              MaximumWindowInMinutes: 5
            StartDate: '2022-12-28T12:00:00.000Z'
            EndDate: '2023-01-28T12:00:00.000Z'
            ScheduleExpressionTimezone: UTC
            RetryPolicy:
              MaximumRetryAttempts: 5
              MaximumEventAgeInSeconds: 300
            DeadLetterConfig:
              Type: SQS
```

**nota**  
El ID físico generado de ScheduleV2 no incluye el nombre de la pila.

# SelfManagedKafka
<a name="sam-property-function-selfmanagedkafka"></a>

El objeto que describe un tipo de fuente de evento `SelfManagedKafka`. Para obtener más información, consulte [Uso AWS Lambda con Apache Kafka autogestionado](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html) en la Guía para *AWS Lambda desarrolladores*.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)recurso cuando se establece este tipo de evento.

Para utilizar Schema Registry, debe definir los permisos de rol de IAM específicos para su función. Consulte la [Configuración completa con roles de IAM](sam-property-function-msk.md#sam-property-function-msk-example-complete) para ver un ejemplo de la configuración necesaria.

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

Para declarar esta entidad en la AWS SAM plantilla, utilice la siguiente sintaxis.

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

```
  [BatchSize](#sam-function-selfmanagedkafka-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-selfmanagedkafka-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-selfmanagedkafka-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-selfmanagedkafka-enabled): Boolean
  [FilterCriteria](#sam-function-selfmanagedkafka-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [KafkaBootstrapServers](#sam-function-selfmanagedkafka-kafkabootstrapservers): List
  [FunctionResponseTypes](#sam-function-selfmanagedkafka-functionresponsetypes): List
  KmsKeyArn: String
  [LoggingConfig](#sam-function-selfmanagedkafka-loggingconfig): LoggingConfig
  [MaximumRecordAgeInSeconds](#sam-function-selfmanagedkafka-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-selfmanagedkafka-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-selfmanagedkafka-metricsconfig): MetricsConfig
  [ProvisionedPollerConfig](#sam-function-selfmanagedkafka-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-selfmanagedkafka-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  [SourceAccessConfigurations](#sam-function-selfmanagedkafka-sourceaccessconfigurations): [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  StartingPosition: String
  StartingPositionTimestamp: Double
  [Topics](#sam-function-selfmanagedkafka-topics): List
```

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

 `BatchSize`   <a name="sam-function-selfmanagedkafka-batchsize"></a>
El número máximo de registros en cada lote que Lambda extrae del flujo o la cola y envía a su función.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: 100  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.  
*Mínimo*: `1`  
*Máximo*: `10000`

 `BisectBatchOnFunctionError`   <a name="sam-function-selfmanagedkafka-bisectbatchonfunctionerror"></a>
Si la función devuelve un error, divida el lote en dos y vuelva a intentarlo.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ConsumerGroupId`   <a name="sam-function-selfmanagedkafka-consumergroupid"></a>
Cadena que configura cómo se leerán los eventos de los temas de Kafka.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `DestinationConfig`   <a name="sam-function-selfmanagedkafka-destinationconfig"></a>
Un objeto de configuración que especifica el destino de un evento después de que Lambda lo procese.  
Utilice esta propiedad para especificar el destino de las invocaciones fallidas desde el origen de eventos autoadministrado de Kafka.  
*Tipo:* [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Enabled`   <a name="sam-function-selfmanagedkafka-enabled"></a>
Deshabilita el mapeo de origen de eventos para pausar el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-selfmanagedkafka-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-filtercriteria)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `KafkaBootstrapServers`   <a name="sam-function-selfmanagedkafka-kafkabootstrapservers"></a>
La lista de servidores de arranque para sus agentes Kafka: Incluya el puerto, por ejemplo `broker.example.com:xxxx`  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionResponseTypes`   <a name="sam-function-selfmanagedkafka-functionresponsetypes"></a>
Una lista de enumeraciones de tipos de respuesta actuales aplicadas a la asignación de origen de eventos. Para obtener más información, consulta [Informes de errores de artículos en lotes](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Valores válidos*: `ReportBatchItemFailures`  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `KmsKeyArn`   <a name="sam-function-selfmanagedkafka-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `LoggingConfig`   <a name="sam-function-selfmanagedkafka-loggingconfig"></a>
La configuración de registro de la fuente de eventos.  
*Tipo:* [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-loggingconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-selfmanagedkafka-maximumrecordageinseconds"></a>
La antigüedad máxima de un registro que Lambda envía a una función para su procesamiento.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MetricsConfig`   <a name="sam-function-selfmanagedkafka-metricsconfig"></a>
La configuración de métricas de la fuente de eventos.  
*Tipo:* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-metricsconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumRetryAttempts`   <a name="sam-function-selfmanagedkafka-maximumretryattempts"></a>
El número máximo de veces que se debe volver a intentar cuando la función devuelve un error.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ProvisionedPollerConfig`   <a name="sam-function-selfmanagedkafka-provisionedpollerconfig"></a>
Configuración para aumentar la cantidad de sondeos utilizados para calcular las asignaciones de orígenes de eventos. Esta configuración permite un mínimo de 1 sondeo y un máximo de 2000 sondeos. Para ver un ejemplo, consulte [ProvisionedPollerConfig ejemplo](#sam-property-function-selfmanagedkafka-example-provisionedpollerconfig)  
*Tipo:* [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-provisionedpollerconfig)` propiedad de un recurso. `AWS::Lambda::EventSourceMapping`

`SchemaRegistryConfig`  <a name="sam-function-selfmanagedkafka-schemaregistryconfig"></a>
Configuración para usar un registro de esquemas con el origen de eventos autoadministrado de Kafka.  
Esta característica solicita que se configue `ProvisionedPollerConfig`.
*Tipo:* [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad:* esta propiedad se pasa directamente a la `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `SourceAccessConfigurations`   <a name="sam-function-selfmanagedkafka-sourceaccessconfigurations"></a>
Una matriz del protocolo de autenticación, los componentes de VPC o el host virtual para proteger y definir su origen de eventos.  
*Valores válidos*: `BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATE`  
*Tipo*: lista de [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration)  
*Obligatorio*: sí  
*CloudFormation compatibilidad:* esta propiedad forma parte de la `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPosition`   <a name="sam-function-selfmanagedkafka-startingposition"></a>
La posición en el flujo donde comienza la lectura.  
+ `AT_TIMESTAMP`: especifique el tiempo a partir del cual comenzar la lectura de registros.
+ `LATEST`: registros nuevos de solo lectura.
+ `TRIM_HORIZON`: procese todos los registros disponibles.
*Valores válidos*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `StartingPositionTimestamp`   <a name="sam-function-selfmanagedkafka-startingpositiontimestamp"></a>
El tiempo a partir del cual comenzar la lectura, en segundos de tiempo Unix. Defina `StartingPositionTimestamp` cuando `StartingPosition` se especifica como `AT_TIMESTAMP`.  
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Topics`   <a name="sam-function-selfmanagedkafka-topics"></a>
El nombre del tema de Kafka.  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### Configuración completa con los roles de IAM
<a name="sam-property-function-selfmanagedkafka-example-complete"></a>

El siguiente ejemplo muestra una configuración completa que incluye la configuración del rol de IAM necesaria para usar Schema Registry:

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String

Resources:
  MyLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Action: [sts:AssumeRole]
          Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
      Policies:
      - PolicyName: KafkaAuthPolicy
        PolicyDocument:
          Statement:
          - Action: [secretsmanager:GetSecretValue, kms:Decrypt]
            Effect: "Allow"
            Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******',
                        'arn:aws:kms:us-west-2:123456789012:key/keyId']
      - PolicyName: ENIPolicy
        PolicyDocument:
          Statement:
          - Action: [ec2:CreateNetworkInterface,
              ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface,
              ec2:DescribeSubnets, ec2:DescribeSecurityGroups]
            Effect: Allow
            Resource: '*'
      - PolicyName: SchemaRegistryPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetRegistry]
            Effect: Allow
            Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}'
      - PolicyName: SchemaVersionsPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetSchemaVersions]
            Effect: Allow
            Resource: '*'
      ManagedPolicyArns:
      - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
      - {Value: SAM, Key: lambda:createdBy}

  MyKafkaProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        SelfManagedKafkaEvent:
          Type: SelfManagedKafka
          Properties:
            KafkaBootstrapServers:
              - my-kafka-broker-1:9092
              - my-kafka-broker-2:9092
            Topics:
              - SchemaRegistryTestTopic
            StartingPosition: LATEST
            SourceAccessConfigurations:
              - Type: VPC_SUBNET
                URI: subnet:subnet-12345678
              - Type: VPC_SECURITY_GROUP
                URI: security_group:sg-12345678
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            ProvisionedPollerConfig:
              MinimumPollers: 1
            SchemaRegistryConfig:
              AccessConfigs:
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
              SchemaValidationConfigs:
              - Attribute: KEY
              EventRecordFormat: JSON
              SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
```

### ProvisionedPollerConfig ejemplo
<a name="sam-property-function-selfmanagedkafka-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### Origen de eventos Kafka autoadministrado
<a name="sam-property-function-selfmanagedkafka--examples--self-managed-kafka-event-source"></a>

A continuación, se muestra un ejemplo de un tipo de fuente de evento `SelfManagedKafka`.

#### YAML
<a name="sam-property-function-selfmanagedkafka--examples--self-managed-kafka-event-source--yaml"></a>

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      BatchSize: 1000
      Enabled: true
      KafkaBootstrapServers:
        - abc.xyz.com:xxxx
      SourceAccessConfigurations:
        -  Type: BASIC_AUTH
           URI: arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
      Topics:
        - MyKafkaTopic
```

### Fuente de eventos de Kafka autogestionada con Schema Registry AWS Glue
<a name="sam-property-function-selfmanagedkafka-example-schemaregistry"></a>

El siguiente es un ejemplo de un tipo de fuente de `SelfManagedKafka` eventos configurado con AWS Glue Schema Registry.

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      KafkaBootstrapServers:
        - abc.xyz.com:9092
      Topics:
        - SchemaRegistryTestTopic
      StartingPosition: LATEST
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
      SourceAccessConfigurations:
        - Type: VPC_SUBNET
          URI: subnet:subnet-12345678
        - Type: VPC_SECURITY_GROUP
          URI: security_group:sg-12345678
```

### Origen de eventos de Kafka autoadministrada con Schema Registry confluente
<a name="sam-property-function-selfmanagedkafka-example-schemaregistry-confluent"></a>

A continuación, se muestra un ejemplo de un tipo de origen de evento de `SelfManagedKafka`configurado con Schema Registry confluente.

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      KafkaBootstrapServers:
        - abc.xyz.com:9092
      Topics:
        - SchemaRegistryTestTopic
      StartingPosition: LATEST
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: https://my-schema-registry.confluent.cloud
        AccessConfigs:
          - Type: BASIC_AUTH
            URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
      SourceAccessConfigurations:
        - Type: VPC_SUBNET
          URI: subnet:subnet-12345678
        - Type: VPC_SECURITY_GROUP
          URI: security_group:sg-12345678
        - Type: BASIC_AUTH
          URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:kafka-secret
```

# SNS
<a name="sam-property-function-sns"></a>

El objeto que describe un tipo de fuente de evento de `SNS`.

SAM genera recursos de [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) cuando se establece este tipo de evento

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

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

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

```
  [FilterPolicy](#sam-function-sns-filterpolicy): [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)
  FilterPolicyScope: String
  RedrivePolicy: Json
  [Region](#sam-function-sns-region): String
  [SqsSubscription](#sam-function-sns-sqssubscription): Boolean | SqsSubscriptionObject
  [Topic](#sam-function-sns-topic): String
```

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

 `FilterPolicy`   <a name="sam-function-sns-filterpolicy"></a>
El JSON de la política de filtro asignada a la suscripción. Para obtener más información, consulte la referencia [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)de la API de Amazon Simple Notification Service.  
*Tipo:* [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[FilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)` propiedad de un `AWS::SNS::Subscription` recurso.

 `FilterPolicyScope`   <a name="sam-function-sns-filterpolicyscope"></a>
Este atributo permite elegir el alcance de filtrado mediante uno de los siguientes tipos de valores de cadena:  
+ `MessageAttributes`: el filtro se aplica a los atributos del mensaje.
+ `MessageBody`: el filtro se aplica al cuerpo del mensaje.
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: `MessageAttributes`  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la ` [ FilterPolicyScope](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicyscope)` propiedad de un `AWS::SNS::Subscription` recurso.

 `RedrivePolicy`   <a name="sam-function-sns-redrivepolicy"></a>
Cuando se especifica, envía mensajes que no se pueden entregar en la cola de mensajes sin procesar de Amazon SQS especificada. Los mensajes que no se pueden entregar debido a errores del cliente (por ejemplo, cuando no se puede acceder al punto de conexión) o errores del servidor (por ejemplo, cuando el servicio que alimenta el punto de conexión suscrito deja de estar disponible) se mantienen en la cola de mensajes fallidos para su posterior análisis o reprocesamiento.  
Para obtener más información sobre la política de redireccionamiento y las colas de mensajes fallidos, consulta [Uso de colas de mensajes fallidos en Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html) en la *Guía para desarrolladores de Amazon Simple Queue Service*.  
*Tipo*: Json  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ RedrivePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy)` propiedad de un `AWS::SNS::Subscription` recurso.

 `Region`   <a name="sam-function-sns-region"></a>
Para suscripciones entre regiones, la región en la que reside el tema.  
Si no se especifica ninguna región, CloudFormation utiliza la región de la persona que llama como predeterminada.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region)` propiedad de un `AWS::SNS::Subscription` recurso.

 `SqsSubscription`   <a name="sam-function-sns-sqssubscription"></a>
Establezca esta propiedad en true o especifique `SqsSubscriptionObject` para habilitar la agrupación por lotes de notificaciones de temas de SNS en una cola de SQS. Si se establece esta propiedad para que `true` cree una nueva cola de SQS, mientras si se especifica `SqsSubscriptionObject` utiliza una cola de SQS existente.  
*Tipo*: booleano \$1 [SqsSubscriptionObject](sam-property-function-sqssubscriptionobject.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Topic`   <a name="sam-function-sns-topic"></a>
El ARN del tema al que se suscribe.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TopicArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn)` propiedad de un `AWS::SNS::Subscription` recurso.

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

### Ejemplo de orígenes de eventos de SNS
<a name="sam-property-function-sns--examples--sns-event-source-example"></a>

Ejemplo de orígenes de eventos de SNS

#### YAML
<a name="sam-property-function-sns--examples--sns-event-source-example--yaml"></a>

```
Events:
  SNSEvent:
    Type: SNS
    Properties:
      Topic: arn:aws:sns:us-east-1:123456789012:my_topic
      SqsSubscription: true
      FilterPolicy:
        store:
          - example_corp
        price_usd:
          - numeric:
              - ">="
              - 100
```

# SqsSubscriptionObject
<a name="sam-property-function-sqssubscriptionobject"></a>

Especifica una opción de cola de SQS existente para el evento de SNS

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

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

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

```
  [BatchSize](#sam-function-sqssubscriptionobject-batchsize): String
  [Enabled](#sam-function-sqssubscriptionobject-enabled): Boolean
  [QueueArn](#sam-function-sqssubscriptionobject-queuearn): String
  [QueuePolicyLogicalId](#sam-function-sqssubscriptionobject-queuepolicylogicalid): String
  [QueueUrl](#sam-function-sqssubscriptionobject-queueurl): String
```

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

 `BatchSize`   <a name="sam-function-sqssubscriptionobject-batchsize"></a>
El número máximo de elementos a recuperar en un único lote para la cola SQS.  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: 10  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Enabled`   <a name="sam-function-sqssubscriptionobject-enabled"></a>
Deshabilita la asignación de orígenes de eventos SQS para pausar el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: True  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `QueueArn`   <a name="sam-function-sqssubscriptionobject-queuearn"></a>
Especifica un arn de cola de SQS existente.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `QueuePolicyLogicalId`   <a name="sam-function-sqssubscriptionobject-queuepolicylogicalid"></a>
Proporcione un nombre LogicaLid personalizado para el recurso. [AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html)  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

 `QueueUrl`   <a name="sam-function-sqssubscriptionobject-queueurl"></a>
Especifica la URL de la cola asociada a la propiedad `QueueArn`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

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

### Evento SQS para SNS existente
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event"></a>

Ejemplo de añadir una cola de SQS existente para suscribirse a un tema de SNS.

#### YAML
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event--yaml"></a>

```
QueuePolicyLogicalId: CustomQueuePolicyLogicalId
QueueArn:
  Fn::GetAtt: MyCustomQueue.Arn
QueueUrl:
  Ref: MyCustomQueue
BatchSize: 5
```

# SQS
<a name="sam-property-function-sqs"></a>

El objeto que describe un tipo de fuente de evento de `SQS`. Para obtener más información, consulte [Uso AWS Lambda con Amazon SQS en la Guía para AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) *desarrolladores*.

SAM genera recursos de [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) cuando se establece este tipo de evento

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

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

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

```
  [BatchSize](#sam-function-sqs-batchsize): Integer
  [Enabled](#sam-function-sqs-enabled): Boolean
  [FilterCriteria](#sam-function-sqs-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-sqs-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-sqs-maximumbatchingwindowinseconds): Integer
  [MetricsConfig](#sam-function-sqs-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ProvisionedPollerConfig](#sam-function-sqs-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [Queue](#sam-function-sqs-queue): String
  ScalingConfig: [ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)
```

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

 `BatchSize`   <a name="sam-function-sqs-batchsize"></a>
El número máximo de elementos que se recuperan en un único lote.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: 10  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.  
*Mínimo*: `1`  
*Máximo*: `10000`

 `Enabled`   <a name="sam-function-sqs-enabled"></a>
Deshabilita el mapeo de origen de eventos para pausar el sondeo y la invocación.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FilterCriteria`   <a name="sam-function-sqs-filtercriteria"></a>
Un objeto que define los criterios que determinan si Lambda debe procesar un evento o no. Para obtener más información, consulta [Filtrado de eventos de AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Tipo:* [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `FunctionResponseTypes`   <a name="sam-function-sqs-functionresponsetypes"></a>
 Una lista de enumeraciones de tipos de respuesta actuales aplicadas a la asignación de origen de eventos. Para obtener más información, consulta [Informes de errores de artículos en lotes](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting) en la *Guía para desarrolladores de AWS Lambda *.   
 *Valores válidos*: `ReportBatchItemFailures`   
 *Tipo*: lista   
 *Obligatorio*: no   
 *CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso. 

 `KmsKeyArn`   <a name="sam-function-sqs-kmskeyarn"></a>
El nombre de recurso de Amazon (ARN) de la clave de que se utilizará para cifrar la información de este evento.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-sqs-maximumbatchingwindowinseconds"></a>
La cantidad de tiempo máxima, en segundos, para recopilar registros antes de invocar la función.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `MetricsConfig`   <a name="sam-function-sqs-metricsconfig"></a>
Una configuración opcional para obtener métricas mejoradas para las asignaciones de orígenes de eventos que capturan cada etapa del procesamiento. Para ver un ejemplo, consulta [MetricsConfig evento](sam-property-function-dynamodb.md#sam-property-function-dynamodb-example-metricsconfigevent).  
*Tipo:* [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ProvisionedPollerConfig`   <a name="sam-function-sqs-provisionedpollerconfig"></a>
Configuración para aumentar la cantidad de sondeos utilizados para calcular las asignaciones de orígenes de eventos. Esta configuración permite un mínimo de 2 sondeadores y un máximo de 2000 sondeos. Para ver un ejemplo, consulte [ProvisionedPollerConfig ejemplo](#sam-property-function-sqs-example-provisionedpollerconfig).  
*Tipo:* [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `Queue`   <a name="sam-function-sqs-queue"></a>
El ARN de la cola.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

 `ScalingConfig`   <a name="sam-function-sqs-scalingconfig"></a>
Configuración del escalado de los pollers SQS para controlar la tasa de invocaciones y establecer el máximo de invocaciones simultáneas.  
*Tipo:* `[ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)`  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)` propiedad de un `AWS::Lambda::EventSourceMapping` recurso.

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

### MetricsConfig evento
<a name="sam-property-function-sqs-example-metricsconfigevent"></a>

El siguiente ejemplo muestra un recurso que usa la propiedad `MetricsConfig` para capturar cada etapa del procesamiento para sus asignaciones de orígenes de eventos.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Evento de SQS básico
<a name="sam-property-function-sqs--examples--sqs-event"></a>

```
Events:
  SQSEvent:
    Type: SQS
    Properties:
      Queue: arn:aws:sqs:us-west-2:012345678901:my-queue
      BatchSize: 10
      Enabled: false
      FilterCriteria:
        Filters:
          - Pattern: '{"key": ["val1", "val2"]}'
```

### Configura los informes por lotes parciales para su cola de SQS
<a name="sam-property-function-sqs--examples--sqs-partial-batch"></a>

```
Events:
  SQSEvent:
    Type: SQS
    Properties:
      Enabled: true
      FunctionResponseTypes:
        - ReportBatchItemFailures
      Queue: !GetAtt MySqsQueue.Arn
      BatchSize: 10
```

### Función de Lambda con un evento SQS que tiene el escalado configurado
<a name="sam-property-function-sqs--examples--sqs-event-scaling"></a>

```
MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    ...
    Events:
      MySQSEvent:
        Type: SQS
        Properties:
          ...
          ScalingConfig:
            MaximumConcurrency: 10
```

### ProvisionedPollerConfig ejemplo
<a name="sam-property-function-sqs-example-provisionedpollerconfig"></a>

```
MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs18.x
    Timeout: 30
    Events:
      SQSEvent:
        Type: SQS
        Properties:
          Queue: !GetAtt MyQueue.Arn
          BatchSize: 10
          Enabled: True
          ProvisionedPollerConfig:
            MaximumPollers: 300
            MinimumPollers: 10
```

# FunctionCode
<a name="sam-property-function-functioncode"></a>

El [paquete de implementación](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html) para una función de Lambda.

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

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

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

```
  [Bucket](#sam-function-functioncode-bucket): String
  [Key](#sam-function-functioncode-key): String
  [Version](#sam-function-functioncode-version): String
```

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

 `Bucket`   <a name="sam-function-functioncode-bucket"></a>
Un bucket de Amazon S3 en la misma AWS región que su función.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket)` propiedad del tipo de `AWS::Lambda::Function` `Code` datos.

 `Key`   <a name="sam-function-functioncode-key"></a>
La clave de Amazon S3 del paquete de implementación.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3key)` propiedad del tipo de `AWS::Lambda::Function` `Code` datos.

 `Version`   <a name="sam-function-functioncode-version"></a>
Para objetos con control de versiones, la versión del objeto del paquete de implementación que se va a utilizar.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectversion)` propiedad del tipo de `AWS::Lambda::Function` `Code` datos.

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

### FunctionCode
<a name="sam-property-function-functioncode--examples--functioncode"></a>

`CodeUri`: código de la función de ejemplo

#### YAML
<a name="sam-property-function-functioncode--examples--functioncode--yaml"></a>

```
CodeUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# FunctionUrlConfig
<a name="sam-property-function-functionurlconfig"></a>

Crea una URL de AWS Lambda función con los parámetros de configuración especificados. Una URL de función de Lambda es un punto de conexión HTTP(S) dedicado que puede utilizar para invocar la función.

De forma predeterminada, la URL de función que cree utiliza la versión `$LATEST` de la función de Lambda. Si especifica un `AutoPublishAlias` para la función de Lambda, el punto de conexión se conecta al alias de la función especificada.

Para obtener más información, consulte la [función Lambda URLs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) en la Guía para *AWS Lambda desarrolladores*.

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

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

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

```
[AuthType](#sam-function-functionurlconfig-authtype): String
[Cors](#sam-function-functionurlconfig-cors): [Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)
[InvokeMode](#sam-function-functionurlconfig-invokemode): String
```

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

 `AuthType`   <a name="sam-function-functionurlconfig-authtype"></a>
El tipo de autenticación que utiliza la URL de función. Para usar AWS Identity and Access Management (IAM) para autorizar solicitudes, establézcalo en. `AWS_IAM` Para un acceso abierto, establézcalo en `NONE`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AuthType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-authtype)` propiedad de un `AWS::Lambda::Url` recurso.

 `Cors`   <a name="sam-function-functionurlconfig-cors"></a>
La configuración de uso compartido de recursos entre orígenes (CORS) para la URL de función.  
*Tipo*: [Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)` propiedad de un `AWS::Lambda::Url` recurso.

 `InvokeMode`  <a name="sam-function-functionurlconfig-invokemode"></a>
El modo en el que se invocará la URL de función. Para que la función devuelva la respuesta una vez finalizada la invocación, establézcala en `BUFFERED`. Para que su función transmita la respuesta, establézcala en `RESPONSE_STREAM`. El valor predeterminado es `BUFFERED`.  
*Valores válidos*: `BUFFERED` o `RESPONSE_STREAM`  
*Tipo:* cadena  
*Obligatorio*: no  
*AWS CloudFormation compatibilidad*: esta propiedad se pasa directamente a la [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-invokemode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-invokemode)propiedad de un `AWS::Lambda::Url` recurso.

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

### URL de función
<a name="sam-property-function-functionurlconfig--examples--function-url"></a>

El siguiente ejemplo crea una función de Lambda con una URL de función. La URL de función utiliza la autorización de IAM.

#### YAML
<a name="sam-property-function-functionurlconfig--examples--function-url--yaml"></a>

```
HelloWorldFunction:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: hello_world/
    Handler: index.handler
    Runtime: nodejs20.x
    FunctionUrlConfig:
      AuthType: AWS_IAM
      InvokeMode: RESPONSE_STREAM

Outputs:
  MyFunctionUrlEndpoint:
      Description: "My Lambda Function URL Endpoint"
      Value:
        Fn::GetAtt: HelloWorldFunctionUrl.FunctionUrl
```

# CapacityProviderConfig
<a name="sam-property-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 EC2 instancias propiedad del cliente administradas por Lambda.

**nota**  
Esta configuración determina el tipo de procesamiento de una función y debe especificarse durante la primera implementación de la función. No se puede añadir ni eliminar una vez creado el recurso de la función.

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

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

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

```
[Arn](#sam-function-capacityproviderconfig-arn): String
[ExecutionEnvironmentMemoryGiBPerVCpu](#sam-function-capacityproviderconfig-executionenvironmentmemorygibpervcpu): Float
[PerExecutionEnvironmentMaxConcurrency](#sam-function-capacityproviderconfig-perexecutionenvironmentmaxconcurrency): Integer
```

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

 `Arn`   <a name="sam-function-capacityproviderconfig-arn"></a>
El ARN del proveedor de capacidad que se utilizará para esta función.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de SAM.

 `ExecutionEnvironmentMemoryGiBPerVCpu`   <a name="sam-function-capacityproviderconfig-executionenvironmentmemorygibpervcpu"></a>
La relación entre memoria (en GiB) y vCPU para cada entorno de ejecución.  
La relación de memoria por CPU no puede superar la memoria total de la función, que es de 2048 MB. memory-to-CPULas proporciones admitidas son de 2 GB, 4 GB u 8 GB por CPU.
*Tipo: flotante*  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ExecutionEnvironmentMemoryGiBPerVCpu](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-lambdamanagedinstancescapacityproviderconfig)` propiedad de un `AWS::Lambda::Function` recurso.

 `PerExecutionEnvironmentMaxConcurrency`   <a name="sam-function-capacityproviderconfig-perexecutionenvironmentmaxconcurrency"></a>
El número máximo de ejecuciones simultáneas por entorno de ejecución (sandbox).  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[PerExecutionEnvironmentMaxConcurrency](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-lambdamanagedinstancescapacityproviderconfig)` propiedad de un `AWS::Lambda::Function` recurso.

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

### Configuración de los proveedores de capacidad
<a name="sam-property-function-capacityproviderconfig-examples-basic"></a>

El siguiente ejemplo muestra una configuración de proveedor de capacidad que hace referencia a un recurso del proveedor de capacidad.

```
CapacityProviderConfig:
  Arn: !GetAtt MyCapacityProvider.Arn
  ExecutionEnvironmentMemoryGiBPerVCpu: 4.0
  PerExecutionEnvironmentMaxConcurrency: 100
```

# FunctionScalingConfig
<a name="sam-property-function-functionscalingconfig"></a>

Configura el comportamiento de escalado de las versiones de la función Lambda, controlando el número de entornos de ejecución (sandboxes) que se pueden crear. Esta configuración se aplica tanto a la versión \$1LATEST.PUBLISHED como a la de la función numérica.

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

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

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

```
[MinExecutionEnvironments](#sam-function-functionscalingconfig-minexecutionenvironments): Integer
[MaxExecutionEnvironments](#sam-function-functionscalingconfig-maxexecutionenvironments): Integer
```

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

 `MinExecutionEnvironments`   <a name="sam-function-functionscalingconfig-minexecutionenvironments"></a>
El número mínimo de entornos de ejecución que se deben mantener para la versión de la función.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: `3`  
*Mínimo*: `0`  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[MinExecutionEnvironments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig-minexecutionenvironments)` propiedad de un `AWS::Lambda::Function` recurso.

 `MaxExecutionEnvironments`   <a name="sam-function-functionscalingconfig-maxexecutionenvironments"></a>
El número máximo de entornos de ejecución que se pueden crear para la versión de la función.  
*Tipo*: entero  
*Obligatorio*: no  
*Valor predeterminado*: `3`  
*Mínimo*: `0`  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[MaxExecutionEnvironments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig-maxexecutionenvironments)` propiedad de un `AWS::Lambda::Function` recurso.

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

### Configuración de escalado de funciones
<a name="sam-property-function-functionscalingconfig-examples-basic"></a>

El siguiente ejemplo muestra una configuración de escalado de funciones con entornos de ejecución mínima y máxima.

```
FunctionScalingConfig:
  MinExecutionEnvironments: 5
  MaxExecutionEnvironments: 100
```

# AWS::Serverless::GraphQLApi
<a name="sam-resource-graphqlapi"></a>

Usa el tipo de `AWS::Serverless::GraphQLApi` recurso AWS Serverless Application Model (AWS SAM) para crear y configurar una AWS AppSync GraphQL API para tu aplicación sin servidor.

Para obtener más información AWS AppSync, consulte [¿Qué es? AWS AppSync](https://docs.aws.amazon.com/appsync/latest/devguide/what-is-appsync.html) en la *Guía para AWS AppSync desarrolladores*.

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

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

```
LogicalId:
  Type: AWS::Serverless::GraphQLApi
  Properties:
    ApiKeys: ApiKeys
    Auth: Auth
    Cache: [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)
    DataSources: DataSource
    DomainName: [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)
    Functions: Function
    Logging: [LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html)
    Name: String
    Resolvers: Resolver
    SchemaInline: String
    SchemaUri: String
    Tags:
    - [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
    XrayEnabled: Boolean
```

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

`ApiKeys`  <a name="sam-graphqlapi-apikeys"></a>
Cree una clave única que se pueda utilizar para realizar operaciones en GraphQL que requieran una clave de API.  
*Tipo:* [ApiKeys](sam-property-graphqlapi-apikeys.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`Auth`  <a name="sam-graphqlapi-auth"></a>
Configure la autenticación para tu GraphQL API.  
*Tipo*: [Auth](sam-property-graphqlapi-auth.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`Cache`  <a name="sam-graphqlapi-cache"></a>
La entrada de una operación `CreateApiCache`.  
*Tipo:* [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente al [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)recurso.

`DataSources`  <a name="sam-graphqlapi-datasources"></a>
Cree fuentes de datos para las funciones AWS AppSync a las que conectarse. AWS SAM es compatible con Amazon AWS Lambda DynamoDB y las fuentes de datos.  
*Tipo:* [DataSource](sam-property-graphqlapi-datasource.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`DomainName`  <a name="sam-graphqlapi-domainname"></a>
Es el nombre de dominio personalizado para la API GraphQL.  
*Tipo:* [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente al [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)recurso. AWS SAM genera automáticamente el [AWS::AppSync::DomainNameApiAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html)recurso.

`Functions`  <a name="sam-graphqlapi-functions"></a>
Configure las funciones GraphQL APIs para realizar determinadas operaciones.  
*Tipo *: [Función](sam-property-graphqlapi-function.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`Logging`  <a name="sam-graphqlapi-logging"></a>
Configura el CloudWatch registro de Amazon para tu GraphQL API.  
Si no especificas esta propiedad, AWS SAM generará `CloudWatchLogsRoleArn` y establecerá los siguientes valores:  
+ `ExcludeVerboseContent: true`
+ `FieldLogLevel: ALL`
Para excluirse del registro, especifica lo siguiente:  

```
Logging: false
```
*Tipo:* [LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

`LogicalId`  <a name="sam-graphqlapi-logicalid"></a>
El nombre exclusivo de la API GraphQL de.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

`Name`  <a name="sam-graphqlapi-name"></a>
El nombre de la API GraphQL. Especifica esta propiedad para anular el valor `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

`Resolvers`  <a name="sam-graphqlapi-resolvers"></a>
Configure los solucionadores para los campos de la API GraphQL. AWS SAM admite [solucionadores de JavaScript canalizaciones](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html#anatomy-of-a-pipeline-resolver-js).  
*[Tipo: Solucionador](sam-property-graphqlapi-resolver.md)*  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

`SchemaInline`  <a name="sam-graphqlapi-schemainline"></a>
La representación de texto de un esquema de GraphQL en formato SDL.  
*Tipo:* cadena  
*Obligatorio*: condicional. Debe especificar `SchemaInline` o `SchemaUri`.  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Definition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definition)` propiedad de un `AWS::AppSync::GraphQLSchema` recurso.

`SchemaUri`  <a name="sam-graphqlapi-schemauri"></a>
El URI del bucket de Amazon Simple Storage Service (Amazon S3) o la ruta de acceso a un directorio local.  
Si especifica una ruta a una carpeta local, CloudFormation requiere que el archivo se cargue primero en Amazon S3 antes de la implementación. Puedes utilizar la AWS SAM CLI para facilitar este proceso. Para obtener más información, consulta [Cómo se AWS SAM cargan los archivos locales en el momento de la implementación](deploy-upload-local-files.md).  
*Tipo:* cadena  
*Obligatorio*: condicional. Debe especificar `SchemaInline` o `SchemaUri`.  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[DefinitionS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definitions3location)` propiedad de un `AWS::AppSync::GraphQLSchema` recurso.

`Tags`  <a name="sam-graphqlapi-tags"></a>
Etiquetas (pares de clave-valor) de esta API GraphQL. Utiliza etiquetas para identificar y clasificar los recursos.  
*Tipo*: lista de [etiqueta](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

`XrayEnabled`  <a name="sam-graphqlapi-xrayenabled"></a>
Indique si quieres utilizar el [rastreo de AWS rayos X](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) para este recurso.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[XrayEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-xrayenabled)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

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

Para obtener una lista de los valores devueltos, consulte [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#aws-resource-appsync-graphqlapi-return-values.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#aws-resource-appsync-graphqlapi-return-values.html) en la [Guía del usuario de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

### GraphQL API con origen de datos de DynamoDB
<a name="sam-resource-graphqlapi-examples-example1"></a>

En este ejemplo, creamos una API GraphQL que usa una tabla de DynamoDB como origen de datos.

**schema.graphql**

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: String!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: String!
  author: String
  title: String
  content: String
  ups: Int!
  downs: Int!
  version: Int!
}
```

**template.yaml**

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  DynamoDBPostsTable:
    Type: AWS::Serverless::SimpleTable

  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      SchemaUri: ./sam_graphql_api/schema.graphql
      Auth:
        Type: AWS_IAM
      DataSources:
        DynamoDb:
          PostsDataSource:
            TableName: !Ref DynamoDBPostsTable
            TableArn: !GetAtt DynamoDBPostsTable.Arn
      Functions:
        preprocessPostItem:
          Runtime:
            Name: APPSYNC_JS
            Version: 1.0.0
          DataSource: NONE
          CodeUri: ./sam_graphql_api/preprocessPostItem.js
        createPostItem:
          Runtime:
            Name: APPSYNC_JS
            Version: "1.0.0"
          DataSource: PostsDataSource
          CodeUri: ./sam_graphql_api/createPostItem.js
        getPostFromTable:
          Runtime:
            Name: APPSYNC_JS
            Version: "1.0.0"
          DataSource: PostsDataSource
          CodeUri: ./sam_graphql_api/getPostFromTable.js
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: "1.0.0"
            Pipeline:
            - preprocessPostItem
            - createPostItem
        Query:
          getPost:
            CodeUri: ./sam_graphql_api/getPost.js
            Runtime:
              Name: APPSYNC_JS
              Version: "1.0.0"
            Pipeline:
            - getPostFromTable
```

**createPostItem.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const { key, values } = ctx.prev.result;
  return {
    operation: "PutItem",
    key: util.dynamodb.toMapValues(key),
    attributeValues: util.dynamodb.toMapValues(values),
  };
}

export function response(ctx) {
  return ctx.result;
}
```

**getPostFromTable.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  return dynamoDBGetItemRequest({ id: ctx.args.id });
}

export function response(ctx) {
  return ctx.result;
}

/**
 * A helper function to get a DynamoDB item
 */
function dynamoDBGetItemRequest(key) {
  return {
    operation: "GetItem",
    key: util.dynamodb.toMapValues(key),
  };
}
```

**preprocessPostItem.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const id = util.autoId();
  const { ...values } = ctx.args;
  values.ups = 1;
  values.downs = 0;
  values.version = 1;
  return { payload: { key: { id }, values: values } };
}

export function response(ctx) {
  return ctx.result;
}
```

Este es nuestro código de resolución:

**getPost.js**

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

### API de GraphQL con una función de Lambda como origen de datos
<a name="sam-resource-graphqlapi-examples-example2"></a>

En este ejemplo, creamos una API de GraphQL que usa una función de Lambda como origen de datos.

**template.yaml**

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs20.x
      CodeUri: ./lambda

  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Name: MyApi
      SchemaUri: ./gql/schema.gql
      Auth:
        Type: API_KEY
      ApiKeys:
        MyApiKey:
          Description: my api key
      DataSources:
        Lambda:
          MyLambdaDataSource:
            FunctionArn: !GetAtt MyLambdaFunction.Arn
      Functions:
        lambdaInvoker:
          Runtime:
            Name: APPSYNC_JS
            Version: 1.0.0
          DataSource: MyLambdaDataSource
          CodeUri: ./gql/invoker.js
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - lambdaInvoker
        Query:
          getPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - lambdaInvoker

Outputs:
  MyGraphQLAPI:
    Description: AppSync API
    Value: !GetAtt MyGraphQLAPI.GraphQLUrl
  MyGraphQLAPIMyApiKey:
    Description: API Key for authentication
    Value: !GetAtt MyGraphQLAPIMyApiKey.ApiKey
```

**schema.graphql**

```
schema {
  query: Query
  mutation: Mutation
}
type Query {
  getPost(id: ID!): Post
}
type Mutation {
  addPost(id: ID!, author: String!, title: String, content: String): Post!
}
type Post {
  id: ID!
  author: String!
  title: String
  content: String
  ups: Int
  downs: Int
}
```

Estas son nuestras funciones:

**lambda/index.js**

```
exports.handler = async (event) => {
  console.log("Received event {}", JSON.stringify(event, 3));

  const posts = {
    1: {
      id: "1",
      title: "First book",
      author: "Author1",
      content: "Book 1 has this content",
      ups: "100",
      downs: "10",
    },
  };

  console.log("Got an Invoke Request.");
  let result;
  switch (event.field) {
    case "getPost":
      return posts[event.arguments.id];
    case "addPost":
      // return the arguments back
      return event.arguments;
    default:
      throw new Error("Unknown field, unable to resolve " + event.field);
  }
};
```

**invoker.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const { source, args } = ctx;
  return {
    operation: "Invoke",
    payload: { field: ctx.info.fieldName, arguments: args, source },
  };
}

export function response(ctx) {
  return ctx.result;
}
```

# ApiKeys
<a name="sam-property-graphqlapi-apikeys"></a>

Cree una clave única que se pueda utilizar para realizar operaciones en GraphQL que requieran una clave de API.

## Sintaxis
<a name="sam-property-graphqlapi-apikeys-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-apikeys-syntax-yaml"></a>

```
LogicalId:
  ApiKeyId: String
  Description: String
  ExpiresOn: Double
```

## Propiedades
<a name="sam-property-graphqlapi-apikeys-properties"></a>

`ApiKeyId`  <a name="sam-graphqlapi-apikeys-apikeyid"></a>
El nombre único de su clave de API. Especifica si desea anular el valor de `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ApiKeyId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid)` propiedad de un `AWS::AppSync::ApiKey` recurso.

`Description`  <a name="sam-graphqlapi-apikeys-description"></a>
Descripción de su clave de API.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description)` propiedad de un `AWS::AppSync::ApiKey` recurso.

`ExpiresOn`  <a name="sam-graphqlapi-apikeys-expireson"></a>
El tiempo después del cual caduca la clave de API. La fecha se representa como segundos desde la marca temporal Epoch, redondeados a la hora más cercana.  
*Tipo*: Doble  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Expires](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires)` propiedad de un `AWS::AppSync::ApiKey` recurso.

`LogicalId`  <a name="sam-graphqlapi-apikeys-logicalid"></a>
El nombre único de su clave de API.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ApiKeyId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid)` propiedad de un `AWS::AppSync::ApiKey` recurso.

# Auth
<a name="sam-property-graphqlapi-auth"></a>

Configura la autorización para su API GraphQL.

## Sintaxis
<a name="sam-property-graphqlapi-auth-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-auth-syntax-yaml"></a>

```
Additional:
- AuthProvider
LambdaAuthorizer: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)
OpenIDConnect: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)
Type: String
UserPool: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)
```

## Propiedades
<a name="sam-property-graphqlapi-auth-properties"></a>

`Additional`  <a name="sam-graphqlapi-auth-additional"></a>
Una lista de tipos de autorización adicionales para su API GraphQL.  
*Tipo*: Lista de [AuthProvider](sam-property-graphqlapi-auth-authprovider.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`LambdaAuthorizer`  <a name="sam-graphqlapi-auth-lambdaauthorizer"></a>
Especifica la configuración de autorización opcional para su autorizador de funciones de Lambda. Puedes configurar esta propiedad opcional si `Type` se especifica como `AWS_LAMBDA`.  
*Tipo*: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

`OpenIDConnect`  <a name="sam-graphqlapi-auth-openidconnect"></a>
Especifica la configuración de autorización opcional para su servicio OpenID Connect compatible. Puedes configurar esta propiedad opcional si `Type` se especifica como `OPENID_CONNECT`.  
*Tipo*: [Open IDConnect Config](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

`Type`  <a name="sam-graphqlapi-auth-type"></a>
El tipo de autorización predeterminado entre las aplicaciones y tu AWS AppSync GraphQL API.  
Para obtener una lista y una descripción de los valores permitidos, consulta [Autorización y autenticación](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html) en la *Guía para desarrolladores de AWS AppSync *.  
Al especificar un autorizador de Lambda (`AWS_LAMBDA`), AWS SAM crea una AWS Identity and Access Management política (de IAM) para aprovisionar permisos entre la API GraphQL y la función de Lambda.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[AuthenticationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype)` propiedad de un recurso. `AWS::AppSync::GraphQLApi`

`UserPool`  <a name="sam-graphqlapi-auth-userpool"></a>
Especifica la configuración de autorización opcional para utilizar grupos de usuarios de Amazon Cognito. Puedes configurar esta propiedad opcional si `Type` se especifica como `AMAZON_COGNITO_USER_POOLS`.  
*Tipo*: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)` propiedad de un `AWS::AppSync::GraphQLApi` recurso.

## Ejemplos
<a name="sam-property-graphqlapi-auth-examples"></a>

### Configura un tipo de autorización predeterminado y adicional
<a name="sam-property-graphqlapi-auth-examples-example1"></a>

En este ejemplo, empezamos configurando un autorizador Lambda como el tipo de autorización predeterminado para nuestra API GraphQL.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Auth:
        Type: AWS_LAMBDA
        LambdaAuthorizer:
          AuthorizerUri: !GetAtt Authorizer1.Arn
          AuthorizerResultTtlInSeconds: 10
          IdentityValidationExpression: hello
```

A continuación, configuramos tipos de autorización adicionales para nuestra API GraphQL añadiendo lo siguiente a nuestra plantilla de AWS SAM :

```
        Additional:
        - Type: AWS_IAM
        - Type: API_KEY
        - Type: OPENID_CONNECT
          OpenIDConnect:
            AuthTTL: 10
            ClientId: myId
            IatTTL: 10
            Issuer: prod
```

Esto da como resultado la siguiente AWS SAM plantilla:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Auth:
        Type: AWS_LAMBDA
        LambdaAuthorizer:
          AuthorizerUri: !GetAtt Authorizer1.Arn
          AuthorizerResultTtlInSeconds: 10
          IdentityValidationExpression: hello
        Additional:
        - Type: AWS_IAM
        - Type: API_KEY
        - Type: OPENID_CONNECT
          OpenIDConnect:
            AuthTTL: 10
            ClientId: myId
            IatTTL: 10
            Issuer: prod
```

# AuthProvider
<a name="sam-property-graphqlapi-auth-authprovider"></a>

Configuración de autorización opcional para sus tipos de autorización de GraphQL API adicionales.

## Sintaxis
<a name="sam-property-graphqlapi-auth-authprovider-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-auth-authprovider-syntax-yaml"></a>

```
LambdaAuthorizer: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)
OpenIDConnect: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)
Type: String
UserPool: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)
```

## Propiedades
<a name="sam-property-graphqlapi-auth-authprovider-properties"></a>

`LambdaAuthorizer`  <a name="sam-graphqlapi-auth-authprovider-lambdaauthorizer"></a>
Especifique la configuración de autorización opcional para su autorizador de AWS Lambda funciones. Puedes configurar esta propiedad opcional si `Type` se especifica como `AWS_LAMBDA`.  
*Tipo: [ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig)*  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)` propiedad de un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objeto.

`OpenIDConnect`  <a name="sam-graphqlapi-auth-authprovider-openidconnect"></a>
Especifica la configuración de autorización opcional para su servicio OpenID Connect compatible. Puedes configurar esta propiedad opcional si `Type` se especifica como `OPENID_CONNECT`.  
*Tipo*: [Open IDConnect Config](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)` propiedad de un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objeto.

`Type`  <a name="sam-graphqlapi-auth-authprovider-type"></a>
El tipo de autorización predeterminado entre las aplicaciones y tu AWS AppSync GraphQL API.  
Para obtener una lista y una descripción de los valores permitidos, consulta [Autorización y autenticación](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html) en la *Guía para desarrolladores de AWS AppSync *.  
Al especificar un autorizador de Lambda (`AWS_LAMBDA`), AWS SAM crea una AWS Identity and Access Management política (de IAM) para aprovisionar permisos entre la API GraphQL y la función de Lambda.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ AuthenticationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-authenticationtype)` propiedad de un objeto. `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)`

`UserPool`  <a name="sam-graphqlapi-auth-authprovider-userpool"></a>
Especifica la configuración de autorización opcional para utilizar grupos de usuarios de Amazon Cognito. Puedes configurar esta propiedad opcional si `Type` se especifica como `AMAZON_COGNITO_USER_POOLS`.  
*Tipo*: [ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)` propiedad de un `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` objeto.

# DataSource
<a name="sam-property-graphqlapi-datasource"></a>

Configura un origen de datos al que se pueda conectar su solucionador de API GraphQL. Puede usar las plantillas AWS Serverless Application Model (AWS SAM) para configurar las conexiones a las siguientes fuentes de datos:
+ Amazon DynamoDB
+ AWS Lambda

Para obtener más información sobre los orígenes de datos, consulta [Adjuntar un origen de datos](https://docs.aws.amazon.com/appsync/latest/devguide/attaching-a-data-source.html) en la *Guía para desarrolladores de AWS AppSync *.

## Sintaxis
<a name="sam-property-graphqlapi-datasource-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-datasource-syntax-yaml"></a>

```
DynamoDb: DynamoDb
Lambda: Lambda
```

## Propiedades
<a name="sam-property-graphqlapi-datasource-properties"></a>

`DynamoDb`  <a name="sam-graphqlapi-datasource-dynamodb"></a>
Configura una tabla de DynamoDB como origen de datos para su solucionador de API GraphQL.  
*Tipo:* [DynamoDb](sam-property-graphqlapi-datasource-dynamodb.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`Lambda`  <a name="sam-graphqlapi-datasource-lambda"></a>
Se utiliza para configurar una función de Lambda como origen de datos para su solucionador de API GraphQL.  
*Type*: [Lambda](sam-property-graphqlapi-datasource-lambda.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

# DynamoDb
<a name="sam-property-graphqlapi-datasource-dynamodb"></a>

Configura una tabla de Amazon DynamoDB como origen de datos para su solucionador de API de GraphQL.

## Sintaxis
<a name="sam-property-graphqlapi-datasource-dynamodb-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-datasource-dynamodb-syntax-yaml"></a>

```
LogicalId:
  DeltaSync: [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)
  Description: String
  Name: String
  Permissions: List
  Region: String
  ServiceRoleArn: String
  TableArn: String
  TableName: String
  UseCallerCredentials: Boolean
  Versioned: Boolean
```

## Propiedades
<a name="sam-property-graphqlapi-datasource-dynamodb-properties"></a>

`DeltaSync`  <a name="sam-graphqlapi-datasource-dynamodb-deltasync"></a>
Describe una configuración de Delta Sync.  
*Tipo:* [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig)` propiedad de un `AWS::AppSync::DataSource DynamoDBConfig` objeto.

`Description`  <a name="sam-graphqlapi-datasource-dynamodb-description"></a>
La descripción de su origen de datos.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description)` propiedad de un `AWS::AppSync::DataSource` recurso.

`LogicalId`  <a name="sam-graphqlapi-datasource-dynamodb-logicalid"></a>
El nombre único de su origen de datos.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propiedad de un `AWS::AppSync::DataSource` recurso.

`Name`  <a name="sam-graphqlapi-datasource-dynamodb-name"></a>
El nombre de su origen de datos. Especifica esta propiedad para anular el valor `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propiedad de un `AWS::AppSync::DataSource` recurso.

`Permissions`  <a name="sam-graphqlapi-datasource-dynamodb-permissions"></a>
Aprovisione permisos a su origen de datos utilizando [Conectores AWS SAM ](managing-permissions-connectors.md). Puedes proporcionar cualquiera de los siguientes valores en una lista:  
+ `Read` – Permita que su solucionador lea su origen de datos.
+ `Write` – Permita que su solucionador escriba su origen de datos.
AWS SAM utiliza un `AWS::Serverless::Connector` recurso que se transforma en el momento de la implementación para aprovisionar sus permisos. Para más información sobre los recursos generados, consulta [CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).  
Puedes especificar `Permissions` o `ServiceRoleArn`, pero no ambos. Si no se especifica ninguno, AWS SAM generará los valores predeterminados de `Read` y`Write`. Para revocar el acceso a la fuente de datos, elimine el objeto DynamoDB de la plantilla. AWS SAM 
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation Es similar a la propiedad `Permissions` de un recurso `AWS::Serverless::Connector`.

`Region`  <a name="sam-graphqlapi-datasource-dynamodb-region"></a>
La Región de AWS de su tabla de DynamoDB. Si no lo especifica, AWS SAM usa. `[AWS::Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-region)`  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AwsRegion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion)` propiedad de un `AWS::AppSync::DataSource DynamoDBConfig` objeto.

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-dynamodb-servicerolearn"></a>
El ARN del rol de servicio AWS Identity and Access Management (IAM) de la fuente de datos. El sistema adopta este rol al acceder al origen de datos.  
Puedes especificar `Permissions` o `ServiceRoleArn`, pero no ambos.  
*Tipo:* cadena  
*Requerido*: No. Si no se especifica, AWS SAM aplica el valor predeterminado para`Permissions`.  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)` propiedad de un `AWS::AppSync::DataSource` recurso.

`TableArn`  <a name="sam-graphqlapi-datasource-dynamodb-tablearn"></a>
El ARN para la tabla de DynamoDB  
*Tipo:* cadena  
*Obligatorio*: condicional. Si no se especifica el `ServiceRoleArn`, la `TableArn` es obligatoria.  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

`TableName`  <a name="sam-graphqlapi-datasource-dynamodb-tablename"></a>
El nombre de la tabla.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename)` propiedad de un `AWS::AppSync::DataSource DynamoDBConfig` objeto.

`UseCallerCredentials`  <a name="sam-graphqlapi-datasource-dynamodb-usecallercredentials"></a>
Establécelo en `true` para utilizar IAM con este origen de datos.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[UseCallerCredentials](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials)` propiedad de un `AWS::AppSync::DataSource DynamoDBConfig` objeto.

`Versioned`  <a name="sam-graphqlapi-datasource-dynamodb-versioned"></a>
Establécelo en `true` para utilizar [Detección de conflictos, resolución de conflictos y sincronización](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html) con este origen de datos.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Versioned](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned)` propiedad de un `AWS::AppSync::DataSource DynamoDBConfig` objeto.

# Lambda
<a name="sam-property-graphqlapi-datasource-lambda"></a>

Configura una AWS Lambda función como fuente de datos para tu solucionador de GraphQL API.

## Sintaxis
<a name="sam-property-graphqlapi-datasource-lambda-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-datasource-lambda-syntax-yaml"></a>

```
LogicalId:
  Description: String
  FunctionArn: String
  Name: String
  ServiceRoleArn: String
```

## Propiedades
<a name="sam-property-graphqlapi-datasource-lambda-properties"></a>

`Description`  <a name="sam-graphqlapi-datasource-lambda-description"></a>
La descripción de su origen de datos.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-description)` propiedad de un `AWS::AppSync::DataSource` recurso.

`FunctionArn`  <a name="sam-graphqlapi-datasource-lambda-functionarn"></a>
El ARN para la función de Lambda.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[LambdaFunctionArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn)` propiedad de un `AWS::AppSync::DataSource LambdaConfig` objeto.

`LogicalId`  <a name="sam-graphqlapi-datasource-lambda-logicalid"></a>
El nombre único de su origen de datos.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propiedad de un `AWS::AppSync::DataSource` recurso.

`Name`  <a name="sam-graphqlapi-datasource-lambda-name"></a>
El nombre de su origen de datos. Especifica esta propiedad para anular el valor `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` propiedad de un `AWS::AppSync::DataSource` recurso.

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-lambda-servicerolearn"></a>
El ARN del rol de servicio AWS Identity and Access Management (IAM) de la fuente de datos. El sistema adopta este rol al acceder al origen de datos.  
Para revocar el acceso al origen de datos, elimine el objeto Lambda de la plantilla de AWS SAM .
*Tipo:* cadena  
*Requerido*: No. Si no se especifica, AWS SAM proporcionará los `Write` permisos mediante[Conectores AWS SAM ](managing-permissions-connectors.md).  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)` propiedad de un `AWS::AppSync::DataSource` recurso.

# Función
<a name="sam-property-graphqlapi-function"></a>

Configure las funciones GraphQL APIs para realizar determinadas operaciones.

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

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

### YAML
<a name="sam-property-graphqlapi-function-syntax-yaml"></a>

```
LogicalId:
  CodeUri: String
  DataSource: String
  Description: String
  Id: String
  InlineCode: String
  MaxBatchSize: Integer
  Name: String
  Runtime: Runtime
  Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html)
```

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

`CodeUri`  <a name="sam-graphqlapi-function-codeuri"></a>
Una URL de Amazon Simple Storage Service (Amazon S3) es de código de función o es una ruta de acceso a una carpeta local.  
Si especifica una ruta a una carpeta local, CloudFormation requiere que el archivo se cargue primero en Amazon S3 antes de la implementación. Puedes utilizar la AWS SAM CLI para facilitar este proceso. Para obtener más información, consulta [Cómo se AWS SAM cargan los archivos locales en el momento de la implementación](deploy-upload-local-files.md).  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-codes3location)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`DataSource`  <a name="sam-graphqlapi-function-datasource"></a>
El nombre de origen de datos al que se asociará esta función.  
+ Para hacer referencia a un origen de datos dentro del recurso `AWS::Serverless::GraphQLApi`, especifique su ID lógico.
+ Para hacer referencia a un origen de datos externo al recurso `AWS::Serverless::GraphQLApi`, proporciona su atributo `Name` mediante la función intrínseca `Fn::GetAtt`. Por ejemplo, `!GetAtt MyLambdaDataSource.Name`.
+ Para hacer referencia a un origen de datos desde una pila diferente, utilice `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)`.
Si `[NONE | None | none]` se especifica una variación de, AWS SAM generará un `None` valor para el `AWS::AppSync::DataSource` `[Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type)` objeto.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DataSourceName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-datasourcename)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`Description`  <a name="sam-graphqlapi-function-description"></a>
La 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-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-description)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`Id`  <a name="sam-graphqlapi-function-id"></a>
El identificador de función de una función ubicada fuera del recurso `AWS::Serverless::GraphQLApi`.  
+ Para hacer referencia a una función dentro de la misma AWS SAM plantilla, utilice la función `Fn::GetAtt` intrínseca. Por ejemplo, `Id: !GetAtt createPostItemFunc.FunctionId`.
+ Para hacer referencia a una función desde una pila diferente, utilice `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)`.
Cuando se usa`Id`, no se permiten todas las demás propiedades. AWS SAM pasará automáticamente el ID de función de la función a la que se hace referencia.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

`InlineCode`  <a name="sam-graphqlapi-function-inlinecode"></a>
El código de la función que contiene las funciones de solicitud y respuesta.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-code)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`LogicalId`  <a name="sam-graphqlapi-function-logicalid"></a>
El nombre único de la función.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`MaxBatchSize`  <a name="sam-graphqlapi-function-maxbatchsize"></a>
El número máximo de entradas de solicitud de resolución que se enviarán a una sola función de AWS Lambda en una operación de `BatchInvoke`.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la [MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-maxbatchsize)propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`Name`  <a name="sam-graphqlapi-function-name"></a>
El nombre de la función. Especifica si desea anular el valor de `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

`Runtime`  <a name="sam-graphqlapi-function-runtime"></a>
Describe el tiempo de ejecución utilizado por una AWS AppSync función o un solucionador de AWS AppSync canalizaciones. Especifica el nombre y la versión del tiempo de ejecución que se utilizará.  
*Tipo*: [tiempo de ejecución](sam-property-graphqlapi-function-runtime.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente. Es similar a la propiedad `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-runtime)` de un recurso `AWS::AppSync::FunctionConfiguration`.

`Sync`  <a name="sam-graphqlapi-function-sync"></a>
Describe una configuración de sincronización para una función.  
Especifica la estrategia de detección de conflictos y la estrategia de resolución que se utilizará cuando se invoque la función.  
*Tipo:* [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-syncconfig)` propiedad de un `AWS::AppSync::FunctionConfiguration` recurso.

# Tiempo de ejecución
<a name="sam-property-graphqlapi-function-runtime"></a>

El tiempo de ejecución de su función o solucionador de canalización. Especifica el nombre y la versión que se utilizará.

## Sintaxis
<a name="sam-property-graphqlapi-function-runtime-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-function-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## Propiedades
<a name="sam-property-graphqlapi-function-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-function-runtime-name"></a>
El nombre del tiempo de ejecución que se utilizará. El único valor permitido actualmente es `APPSYNC_JS`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-name)` propiedad de un `AWS::AppSync::FunctionConfiguration AppSyncRuntime` objeto.

`Version`  <a name="sam-graphqlapi-function-runtime-version"></a>
La versión del tiempo de ejecución que se utilizará. En la actualidad, la única versión permitida es `1.0.0`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-runtimeversion)` propiedad de un `AWS::AppSync::FunctionConfiguration AppSyncRuntime` objeto.

# Solucionador
<a name="sam-property-graphqlapi-resolver"></a>

Configura los resolutores para los campos de tu API. GraphQL AWS Serverless Application Model (AWS SAM) admite [solucionadores de JavaScript canalizaciones](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html).

## Sintaxis
<a name="sam-property-graphqlapi-resolver-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-resolver-syntax-yaml"></a>

```
OperationType:
  LogicalId:
    Caching: [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)
    CodeUri: String
    FieldName: String
    InlineCode: String 
    MaxBatchSize: Integer
    Pipeline: List
    Runtime: Runtime
    Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)
```

## Propiedades
<a name="sam-property-graphqlapi-resolver-properties"></a>

`Caching`  <a name="sam-graphqlapi-resolver-caching"></a>
La configuración de almacenamiento en caché para un solucionador que tiene la caché activada.  
*Tipo:* [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig)` propiedad de un `AWS::AppSync::Resolver` recurso.

`CodeUri`  <a name="sam-graphqlapi-resolver-codeuri"></a>
El código de la función de solucionador es el URI de Amazon Simple Storage Service (Amazon S3) o la ruta a una carpeta local.  
Si especifica una ruta a una carpeta local, CloudFormation requiere que el archivo se cargue primero en Amazon S3 antes de la implementación. Puedes utilizar la AWS SAM CLI para facilitar este proceso. 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 no `InlineCode` se proporciona `CodeUri` ninguna de las dos, AWS SAM generará un `InlineCode` generador que redireccionará la solicitud a la primera función de canalización y recibirá la respuesta de la última función de canalización.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-codes3location)` propiedad de un `AWS::AppSync::Resolver` recurso.

`FieldName`  <a name="sam-graphqlapi-resolver-fieldname"></a>
El nombre de su solucionador. Especifica esta propiedad para anular el valor `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FieldName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname)` propiedad de un `AWS::AppSync::Resolver` recurso.

`InlineCode`  <a name="sam-graphqlapi-resolver-inlinecode"></a>
El código de solucionador que contiene las funciones de solicitud y respuesta.  
Si no `InlineCode` se proporciona `CodeUri` ninguna de las dos, AWS SAM se generará un `InlineCode` generador que redireccionará la solicitud a la primera función de canalización y recibirá la respuesta de la última función de canalización.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-code)` propiedad de un `AWS::AppSync::Resolver` recurso.

`LogicalId`  <a name="sam-graphqlapi-resolver-logicalid"></a>
El nombre único para su solucionador. En un esquema GraphQL, el nombre del solucionador debe coincidir con el nombre del campo para el que se usa. Usa el mismo nombre de campo para `LogicalId`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

`MaxBatchSize`  <a name="sam-graphqlapi-resolver-maxbatchsize"></a>
El número máximo de entradas de solicitud de resolución que se enviarán a una sola función de AWS Lambda en una operación de `BatchInvoke`.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-maxbatchsize)` propiedad de un `AWS::AppSync::Resolver` recurso.

`OperationType`  <a name="sam-graphqlapi-resolver-operationtype"></a>
El tipo de operación GraphQL que está asociado al solucionador. Por ejemplo, `Query`, `Mutation` o `Subscription`. Puede agrupar varios solucionadores `LogicalId` en un solo `OperationType`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TypeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename)` propiedad de un `AWS::AppSync::Resolver` recurso.

`Pipeline`  <a name="sam-graphqlapi-resolver-pipeline"></a>
Funciones vinculadas con el solucionador de canalización. Especifica las funciones mediante un identificador lógico en una lista.  
*Tipo*: lista  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente. Es similar a la propiedad `[PipelineConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig)` de un recurso `AWS::AppSync::Resolver`.

`Runtime`  <a name="sam-graphqlapi-resolver-runtime"></a>
El tiempo de ejecución de su función o solucionador de canalización. Especifica el nombre y la versión que se utilizará.  
*Tipo*: [tiempo de ejecución](sam-property-graphqlapi-resolver-runtime.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente. Es similar a la propiedad `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-runtime)` de un recurso `AWS::AppSync::Resolver`.

`Sync`  <a name="sam-graphqlapi-resolver-sync"></a>
Describe una configuración de sincronización para un solucionador.  
Especifica la estrategia de detección de conflictos y la estrategia de resolución que se utilizará cuando se invoque el resolver.  
*Tipo:* [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig)` propiedad de un `AWS::AppSync::Resolver` recurso.

## Ejemplos
<a name="sam-property-graphqlapi-resolver-examples"></a>

### Utilice el código de la función de resolución AWS SAM generado y guarde los campos como variables
<a name="sam-property-graphqlapi-resolver-examples-example1"></a>

Este es el esquema GraphQL de nuestro ejemplo:

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: ID!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: ID!
  author: String
  title: String
  content: String
}
```

Este es un fragmento de nuestra AWS SAM plantilla:

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLApi:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      ...
      Functions:
        preprocessPostItem:
          ...
        createPostItem:
          ...
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - preprocessPostItem
            - createPostItem
```

En nuestra AWS SAM plantilla, no `CodeUri` especificamos o. `InlineCode` En el momento de la implementación, genera AWS SAM automáticamente el siguiente código en línea para nuestro solucionador:

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

Este código de solucionador predeterminado redirige la solicitud a la primera función de canalización y recibe la respuesta de la última función de canalización.

En nuestra primera función de canalización, podemos usar el campo `args` proporcionado para analizar el objeto de solicitud y crear nuestras variables. Luego podemos usar estas variables dentro de nuestra función. A continuación, se muestra un ejemplo de nuestra función `preprocessPostItem`:

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const author = ctx.args.author;
  const title = ctx.args.title;
  const content = ctx.args.content;
  
  // Use variables to process data
  
}

export function response(ctx) {
  return ctx.result;
}
```

# Tiempo de ejecución
<a name="sam-property-graphqlapi-resolver-runtime"></a>

El tiempo de ejecución de su función o solucionador de canalización. Especifica el nombre y la versión que se utilizará.

## Sintaxis
<a name="sam-property-graphqlapi-resolver-runtime-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-resolver-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## Propiedades
<a name="sam-property-graphqlapi-resolver-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-resolver-runtime-name"></a>
El nombre del tiempo de ejecución que se utilizará. El único valor permitido actualmente es `APPSYNC_JS`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-name)` propiedad de un `AWS::AppSync::Resolver AppSyncRuntime` objeto.

`Version`  <a name="sam-graphqlapi-resolver-runtime-version"></a>
La versión del tiempo de ejecución que se utilizará. En la actualidad, la única versión permitida es `1.0.0`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-runtimeversion)` propiedad de un `AWS::AppSync::Resolver AppSyncRuntime` objeto.

# AWS::Serverless::HttpApi
<a name="sam-resource-httpapi"></a>

Crea una API HTTP de Amazon API Gateway, que le permite crear RESTful APIs con menor latencia y costes más bajos que REST APIs. Para obtener más información, consulte [Trabajar con HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html) en la *Guía para desarrolladores de API Gateway*.

Te recomendamos que utilices CloudFormation enlaces o políticas de IAM para comprobar que los recursos de API Gateway tienen autorizadores adjuntos para controlar el acceso a ellos.

Para obtener más información sobre el uso de CloudFormation ganchos, consulte [Registrar ganchos](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) en la *guía del usuario de la CloudFormation CLI* y en el [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub repositorio.

Para obtener más información sobre el uso de las políticas de IAM, consulta [Exigir que las rutas de API tengan autorización](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) en la *Guía para desarrolladores de API Gateway*.

**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-httpapi-syntax"></a>

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

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

```
Type: AWS::Serverless::HttpApi
Properties:
  [AccessLogSettings](#sam-httpapi-accesslogsettings): [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)
  [Auth](#sam-httpapi-auth): HttpApiAuth
  [CorsConfiguration](#sam-httpapi-corsconfiguration): String | HttpApiCorsConfiguration
  [DefaultRouteSettings](#sam-httpapi-defaultroutesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [DefinitionBody](#sam-httpapi-definitionbody): JSON
  [DefinitionUri](#sam-httpapi-definitionuri): String | HttpApiDefinition
  [Description](#sam-httpapi-description): String
  [DisableExecuteApiEndpoint](#sam-httpapi-disableexecuteapiendpoint): Boolean
  [Domain](#sam-httpapi-domain): HttpApiDomainConfiguration
  [FailOnWarnings](#sam-httpapi-failonwarnings): Boolean
  Name: String
  PropagateTags: Boolean
  [RouteSettings](#sam-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [StageName](#sam-httpapi-stagename): String
  [StageVariables](#sam-httpapi-stagevariables): [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)
  [Tags](#sam-httpapi-tags): Map
```

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

 `AccessLogSettings`   <a name="sam-httpapi-accesslogsettings"></a>
Configuración del registro de acceso en una etapa.  
*Tipo:* [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)` propiedad de un `AWS::ApiGatewayV2::Stage` recurso.

 `Auth`   <a name="sam-httpapi-auth"></a>
Configure la autorización para controlar el acceso a la API HTTP de API Gateway.  
Para obtener más información, consulte [Control del acceso a HTTP APIs con autorizadores JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) en la Guía para *desarrolladores de API Gateway*.  
*Tipo:* [HttpApiAuth](sam-property-httpapi-httpapiauth.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `CorsConfiguration`   <a name="sam-httpapi-corsconfiguration"></a>
Administra el intercambio de recursos entre orígenes (CORS) para todos sus HTTP de API Gateway. APIs Especifica el dominio que quieres permitir como cadena o especifica un objeto `HttpApiCorsConfiguration`. Tenga en cuenta que CORS requiere AWS SAM modificar su definición de OpenAPI, por lo que CORS solo funciona si se especifica `DefinitionBody` la propiedad.  
Para obtener más información, consulta [Configuración de CORS para API HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) en la *Guía para desarrolladores de API Gateway*.  
Si `CorsConfiguration` se establece tanto en una definición de OpenAPI como en el nivel de propiedad, entonces AWS SAM fusiona ambas fuentes de configuración dando prioridad a las propiedades. Si esta propiedad está establecida en `true`, se permiten todos los orígenes.
*Tipo: Cadena \$1 [HttpApiCorsConfiguration](sam-property-httpapi-httpapicorsconfiguration.md)*  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `DefaultRouteSettings`   <a name="sam-httpapi-defaultroutesettings"></a>
Es la configuración de ruta predeterminada para esta API HTTP. Esta configuración se aplica a todas las rutas, a menos que la propiedad `RouteSettings` la anula para determinadas rutas.  
*Tipo:* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propiedad de un `AWS::ApiGatewayV2::Stage` recurso.

 `DefinitionBody`   <a name="sam-httpapi-definitionbody"></a>
La definición de OpenAPI que describe tu API HTTP. Si no especificas una `DefinitionUri` o una`DefinitionBody`, AWS SAM genera una `DefinitionBody` para ti en función de la configuración de la plantilla.  
*Tipo*: JSON  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` propiedad de un `AWS::ApiGatewayV2::Api` recurso. Si se proporcionan determinadas propiedades, AWS SAM puede insertar contenido en ellas o modificarlas `DefinitionBody` antes de pasarlas a ellas CloudFormation. Las propiedades incluyen `Auth` un `EventSource` tipo HttpApi para el `AWS::Serverless::Function` recurso correspondiente.

 `DefinitionUri`   <a name="sam-httpapi-definitionuri"></a>
El URI, ruta de archivo local u objeto de ubicación de Amazon Simple Storage Service (Amazon S3) de la definición de OpenAPI que define la API HTTP. El objeto Amazon S3 al que hace referencia esta propiedad debe ser un archivo de definición de OpenAPI válido. Si no especifica una `DefinitionUri` o `DefinitionBody` se especifica una, AWS SAM genera una `DefinitionBody` para usted en función de la configuración de la plantilla.  
Si proporcionas una ruta de archivo local, la plantilla debe seguir el flujo de trabajo que incluye el comando `sam deploy` o `sam package` para que la definición se transforme correctamente.  
Las funciones intrínsecas no se admiten en los archivos de OpenApi definición externos a los que haga referencia`DefinitionUri`. Para importar una OpenApi definición a la plantilla, utilice la `DefinitionBody` propiedad con la [transformación Include](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html).  
*Tipo*: Cadena \$1 [HttpApiDefinition](sam-property-httpapi-httpapidefinition.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location)` propiedad de un `AWS::ApiGatewayV2::Api` recurso. Las propiedades anidadas de Amazon S3 tienen un nombre diferente.

 `Description`   <a name="sam-httpapi-description"></a>
La descripción del recurso de la API HTTP.  
Cuando lo especifiques`Description`, AWS SAM modificará la OpenApi definición del recurso de la API HTTP configurando el `description` campo. Las siguientes situaciones producirán un error:  
+ La `DefinitionBody` propiedad se especifica con el `description` campo establecido en la definición de API abierta. Esto provoca un conflicto en el `description` campo que AWS SAM no se resuelve.
+ La `DefinitionUri` propiedad está especificada: AWS SAM no modificará una definición de API abierta que se recupere de Amazon S3.
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `DisableExecuteApiEndpoint`   <a name="sam-httpapi-disableexecuteapiendpoint"></a>
Especifica si los clientes pueden invocar su API HTTP utilizando el `execute-api`punto de conexión`https://{api_id}.execute-api.{region}.amazonaws.com` predeterminado. De forma predeterminada, los clientes pueden invocar su API con el punto de enlace predeterminado. Para exigir que los clientes utilicen un nombre de dominio personalizado para invocar la API, desactive el punto de conexión predeterminado.  
Para usar esta propiedad, debe especificar la propiedad `DefinitionBody` en lugar de la propiedad `DefinitionUri` o definir `x-amazon-apigateway-endpoint-configuration` con `disableExecuteApiEndpoint` en su definición de OpenAPI.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint)` propiedad de un `AWS::ApiGatewayV2::Api` recurso. Se pasa directamente a la propiedad `disableExecuteApiEndpoint` de una extensión `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)`, que se agrega a la propiedad ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` de un recurso `AWS::ApiGatewayV2::Api`.

 `Domain`   <a name="sam-httpapi-domain"></a>
Configura un dominio personalizado para esta API HTTP de API Gateway.  
*Tipo:* [HttpApiDomainConfiguration](sam-property-httpapi-httpapidomainconfiguration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `FailOnWarnings`   <a name="sam-httpapi-failonwarnings"></a>
Especifica si se va a restaurar la creación de HTTP API (`true`) o no (`false`) cuando se encuentra una advertencia. El valor predeterminado es `false`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings)` propiedad de un `AWS::ApiGatewayV2::Api` recurso.

`Name`  <a name="sam-httpapi-name"></a>
El nombre del recurso de HTTP API.  
Cuando lo especifiques`Name`, AWS SAM modificará la definición de OpenAPI del recurso de la API HTTP configurando el `title` campo. Las siguientes situaciones producirán un error:  
+ La `DefinitionBody` propiedad se especifica con el `title` campo establecido en la definición de API abierta. Esto provoca un conflicto en el `title` campo que AWS SAM no se resuelve.
+ La `DefinitionUri` propiedad está especificada: AWS SAM no modificará una definición de API abierta que se recupere de Amazon S3.
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`PropagateTags`  <a name="sam-httpapi-propagatetags"></a>
Indique si quiere pasar o no las etiquetas de la propiedad `Tags` a los recursos generados [AWS::Serverless::HttpApi](sam-specification-generated-resources-httpapi.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.

 `RouteSettings`   <a name="sam-httpapi-routesettings"></a>
La configuración de ruta, por ruta, para esta API HTTP. Para obtener más información, consulte [Trabajar con rutas para HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html) en la *Guía para desarrolladores de API Gateway*.  
*Tipo:* [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propiedad de un `AWS::ApiGatewayV2::Stage` recurso.

 `StageName`   <a name="sam-httpapi-stagename"></a>
Es el nombre de la fase de la API. Si no se especifica ningún nombre, AWS SAM utiliza la `$default` etapa de API Gateway.  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: \$1default  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename)` propiedad de un `AWS::ApiGatewayV2::Stage` recurso.

 `StageVariables`   <a name="sam-httpapi-stagevariables"></a>
Una asignación que define las variables de la fase. Los nombres de las variables pueden tener caracteres alfanuméricos y de subrayado. Los valores deben coincidir con [A-Za-z0-9-.\$1\$1:/?\$1&=,]\$1.  
*Type*: [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StageVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)` propiedad de un `AWS::ApiGatewayV2::Stage` recurso.

 `Tags`   <a name="sam-httpapi-tags"></a>
Un mapa (cadena a cadena) que especifica las etiquetas a añadir a esta etapa de API Gateway. Las claves pueden tener una longitud de entre 1 y 128 caracteres Unicode y no pueden incluir el prefijo `aws:`. Puede utilizar cualquiera de los siguientes caracteres: el conjunto de letras Unicode, dígitos, espacio en blanco, `_`, `.`, `/`, `=`, `+` y `-`. Los valores pueden tener de 1 a 256 caracteres Unicode.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: La `Tags` propiedad requiere AWS SAM modificar la definición de OpenAPI, por lo que las etiquetas se añaden solo si se especifica la `DefinitionBody` propiedad; no se añaden etiquetas si se especifica la propiedad. `DefinitionUri` AWS SAM añade automáticamente una etiqueta. `httpapi:createdBy:SAM` Las etiquetas también se añaden al recurso `AWS::ApiGatewayV2::Stage` y al recurso `AWS::ApiGatewayV2::DomainName` (si `DomainName` se especifica).

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

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

Cuando se pasa el ID lógico de este recurso a la función intrínseca `Ref`, `Ref` devuelve el ID de API del recurso subyacente `AWS::ApiGatewayV2::Api`, por ejemplo, `a1bcdef2gh`.

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 *. 

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

### Sencillo HttpApi
<a name="sam-resource-httpapi--examples--simple-httpapi"></a>

El siguiente ejemplo muestra el mínimo necesario para configurar un punto de conexión de la API HTTP respaldado por una función de Lambda. En este ejemplo se utiliza la API HTTP predeterminada que AWS SAM crea.

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

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS SAM template with a simple API definition
Resources:
  ApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Runtime: python3.7
Transform: AWS::Serverless-2016-10-31
```

### HttpApi con Auth
<a name="sam-resource-httpapi--examples--httpapi-with-auth"></a>

El siguiente ejemplo muestra cómo configurar la autorización en puntos de conexión de API HTTP.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-auth--yaml"></a>

```
Properties:
  FailOnWarnings: true
  Auth:
    DefaultAuthorizer: OAuth2
    Authorizers:
      OAuth2:
        AuthorizationScopes:
          - scope4
        JwtConfiguration:
          issuer: "https://www.example.com/v1/connect/oauth2"
          audience:
            - MyApi
        IdentitySource: "$request.querystring.param"
```

### HttpApi con definición de OpenAPI
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition"></a>

El siguiente ejemplo muestra cómo añadir una definición de OpenAPI a la plantilla.

Tenga en cuenta que AWS SAM rellena las integraciones de Lambda que falten para HttpApi los eventos que hacen referencia a esta API HTTP. AWS SAM también agrega las rutas faltantes a las que hacen referencia HttpApi los eventos.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition--yaml"></a>

```
Properties:
  FailOnWarnings: true
  DefinitionBody:
    info:
      version: '1.0'
      title:
        Ref: AWS::StackName
    paths:
      "/":
        get:
          security:
          - OpenIdAuth:
            - scope1
            - scope2
          responses: {}
    openapi: 3.0.1
    securitySchemes:
      OpenIdAuth:
        type: openIdConnect
        x-amazon-apigateway-authorizer:
          identitySource: "$request.querystring.param"
          type: jwt
          jwtConfiguration:
            audience:
            - MyApi
            issuer: https://www.example.com/v1/connect/oidc
          openIdConnectUrl: https://www.example.com/v1/connect/oidc/.well-known/openid-configuration
```

### HttpApi con ajustes de configuración
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings"></a>

El siguiente ejemplo muestra cómo añadir la API HTTP y configuraciones de escenario a la plantilla.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Parameters:
  StageName:
    Type: String
    Default: Prod
    
Resources:
  HttpApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
          def handler(event, context):
              import json
              return {
                  "statusCode": 200,
                  "body": json.dumps(event),
              }
      Handler: index.handler
      Runtime: python3.7
      Events:
        ExplicitApi: # warning: creates a public endpoint
          Type: HttpApi
          Properties:
            ApiId: !Ref HttpApi
            Method: GET
            Path: /path
            TimeoutInMillis: 15000
            PayloadFormatVersion: "2.0"
            RouteSettings:
              ThrottlingBurstLimit: 600

  HttpApi:
    Type: AWS::Serverless::HttpApi
    Properties:
      StageName: !Ref StageName
      Tags:
        Tag: Value
      AccessLogSettings:
        DestinationArn: !GetAtt AccessLogs.Arn
        Format: $context.requestId
      DefaultRouteSettings:
        ThrottlingBurstLimit: 200
      RouteSettings:
        "GET /path":
          ThrottlingBurstLimit: 500 # overridden in HttpApi Event
      StageVariables:
        StageVar: Value
      FailOnWarnings: true

  AccessLogs:
    Type: AWS::Logs::LogGroup

Outputs:
  HttpApiUrl:
    Description: URL of your API endpoint
    Value:
      Fn::Sub: 'https://${HttpApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/${StageName}/'
  HttpApiId:
    Description: Api id of HttpApi
    Value:
      Ref: HttpApi
```

# HttpApiAuth
<a name="sam-property-httpapi-httpapiauth"></a>

Configure la autorización para controlar el acceso a la API HTTP de Amazon API Gateway.

Para obtener más información sobre la configuración del acceso a HTTP APIs, consulte [Control y administración del acceso a una API HTTP en API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-httpapiauth-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapiauth-syntax.yaml"></a>

```
  [Authorizers](#sam-httpapi-httpapiauth-authorizers): OAuth2Authorizer | LambdaAuthorizer
  [DefaultAuthorizer](#sam-httpapi-httpapiauth-defaultauthorizer): String
  [EnableIamAuthorizer](#sam-httpapi-httpapiauth-enableiamauthorizer): Boolean
```

## Propiedades
<a name="sam-property-httpapi-httpapiauth-properties"></a>

 `Authorizers`   <a name="sam-httpapi-httpapiauth-authorizers"></a>
El autorizador utilizado para controlar el acceso a la API de API Gateway.  
*Tipo*: [OAuth2Autorizador \$1 [LambdaAuthorizer](sam-property-httpapi-lambdaauthorizer.md)](sam-property-httpapi-oauth2authorizer.md)  
*Obligatorio*: no  
*Valor predeterminado*: Ninguno  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: AWS SAM añade los autorizadores a la definición de OpenAPI.

 `DefaultAuthorizer`   <a name="sam-httpapi-httpapiauth-defaultauthorizer"></a>
Especifica el autorizador predeterminado que se utilizará para autorizar las llamadas a la API de API Gateway. Puede especificar `AWS_IAM` como autorizador predeterminado si `EnableIamAuthorizer` está configurado en `true`. De lo contrario, especifica un autorizador que haya definido en `Authorizers`.  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: Ninguno  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `EnableIamAuthorizer`   <a name="sam-httpapi-httpapiauth-enableiamauthorizer"></a>
Especifica si quieres utilizar la autorización de IAM para la ruta de la API.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-httpapi-httpapiauth--examples"></a>

### OAuth 2.0: Autorizador
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer"></a>

OAuth Ejemplo de autorizador 2.0

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
        - scope2
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

### Autorizador de IAM
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer"></a>

Ejemplo de autorizador de IAM

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer--yaml"></a>

```
Auth:
  EnableIamAuthorizer: true
  DefaultAuthorizer: AWS_IAM
```

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

Configure un autorizador Lambda para controlar el acceso a la API HTTP de Amazon API Gateway con una función. AWS Lambda 

Para obtener más información y ejemplos, consulte Cómo [trabajar con AWS Lambda autorizadores para HTTP APIs](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-lambdaauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-lambdaauthorizer-syntax.yaml"></a>

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## Propiedades
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
Especifica el formato de la carga enviada a un autorizador de Lambda API HTTP. Necesario para los autorizadores de Lambda API HTTP.  
Esto se transfiere a la sección `authorizerPayloadFormatVersion` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Valores válidos*: `1.0` o `2.0`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
De forma predeterminada, el recurso de la API HTTP no tiene permiso para invocar el autorizador Lambda. Especifica esta propiedad como `true` para crear automáticamente permisos entre su recurso de API HTTP y su autorizador Lambda.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado:* `false`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Especifica si un autorizador de Lambda devuelve una respuesta en un formato simple. De forma predeterminada, un autorizador Lambda debe devolver una política AWS Identity and Access Management (IAM). Si está habilitado, el autorizador de Lambda puede devolver un valor booleano en lugar de una política de IAM.  
Esto se transfiere a la sección `enableSimpleResponses` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
El nombre de recurso de Amazon (ARN) de la función de Lambda que proporciona autorización para la API.  
Esto se transfiere a la sección `authorizerUri` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
El ARN del rol de IAM que tiene las credenciales necesarias para API Gateway para invocar a la función autorizadora. Especifica este parámetro si la política basada en recursos de una función no concede el permiso `lambda:InvokeFunction` a API Gateway.  
Esto se transfiere a la sección `authorizerCredentials` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
Para obtener más información, consulta [Creación de un autorizador Lambda](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) en la *Guía para desarrolladores de API Gateway*.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
Especifica un autorizador `IdentitySource` en una solicitud entrante.  
Esto se transfiere a la sección `identitySource` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
*Tipo:* [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer ejemplo

#### YAML
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer--yaml"></a>

```
Auth:
  Authorizers:
    MyLambdaAuthorizer:
      AuthorizerPayloadFormatVersion: 2.0
      FunctionArn:
        Fn::GetAtt:
          - MyAuthFunction
          - Arn
      FunctionInvokeRole:
        Fn::GetAtt:
          - LambdaAuthInvokeRole
          - Arn
      Identity:
        Headers:
          - Authorization
```

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

La propiedad Use se puede usar para especificar una IdentitySource en una solicitud entrante de un autorizador Lambda. Para obtener más información sobre fuentes de identidad, consulta [Fuentes de identidad](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources) en la *Guía del desarrollador de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-httpapi-lambdaauthorizationidentity-context): List
  [Headers](#sam-httpapi-lambdaauthorizationidentity-headers): List
  [QueryStrings](#sam-httpapi-lambdaauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-httpapi-lambdaauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-httpapi-lambdaauthorizationidentity-stagevariables): List
```

## Propiedades
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

 `Context`   <a name="sam-httpapi-lambdaauthorizationidentity-context"></a>
Convierte las cadenas de contexto dadas en una lista de expresiones de mapeo en el formato `$context.contextString`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Headers`   <a name="sam-httpapi-lambdaauthorizationidentity-headers"></a>
Convierte los encabezados en una lista de expresiones de mapeo en el formato `$request.header.name`.  
*Tipo*: Lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `QueryStrings`   <a name="sam-httpapi-lambdaauthorizationidentity-querystrings"></a>
Convierte las cadenas de consulta dadas en una lista de expresiones de mapeo en el formato `$request.querystring.queryString`.  
*Tipo*: Lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ReauthorizeEvery`   <a name="sam-httpapi-lambdaauthorizationidentity-reauthorizeevery"></a>
El período time-to-live (TTL), en segundos, que especifica cuánto tiempo API Gateway almacena en caché los resultados del autorizador. Si especificas un valor mayor que 0, API Gateway almacena en caché las respuestas del autorizador. El valor máximo es 3600 o 1 hora.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente. CloudFormation 

 `StageVariables`   <a name="sam-httpapi-lambdaauthorizationidentity-stagevariables"></a>
Convierte las variables de etapa dadas en una lista de expresiones de mapeo en el formato `$stageVariables.stageVariable`.  
*Tipo*: Lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Ejemplo de identidad de solicitud de Lambda

#### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# OAuth2Authorizer
<a name="sam-property-httpapi-oauth2authorizer"></a>

Definición de un autorizador OAuth 2.0, también conocido como autorizador de JSON Web Token (JWT).

Para obtener más información, consulte [Control del acceso a HTTP APIs con autorizadores JWT](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) en la Guía para *desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-httpapi-oauth2authorizer-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-oauth2authorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-httpapi-oauth2authorizer-authorizationscopes): List
  [IdentitySource](#sam-httpapi-oauth2authorizer-identitysource): String
  [JwtConfiguration](#sam-httpapi-oauth2authorizer-jwtconfiguration): Map
```

## Propiedades
<a name="sam-property-httpapi-oauth2authorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-httpapi-oauth2authorizer-authorizationscopes"></a>
Lista de los ámbitos de autorización de este autorizador.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IdentitySource`   <a name="sam-httpapi-oauth2authorizer-identitysource"></a>
Expresión de origen de identidad para este autorizador.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `JwtConfiguration`   <a name="sam-httpapi-oauth2authorizer-jwtconfiguration"></a>
Configuración JWT para este autorizador.  
Esto se transfiere a la sección `jwtConfiguration` de un `x-amazon-apigateway-authorizer` en la sección `securitySchemes` de la definición de OpenAPI.  
Las propiedades `issuer` y `audience` no distinguen entre mayúsculas y minúsculas y se pueden usar en minúsculas como en OpenAPI o en mayúsculas y como en. `Issuer` `Audience` [AWS::ApiGatewayV2::Authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html) 
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un equivalente. CloudFormation 

## Ejemplos
<a name="sam-property-httpapi-oauth2authorizer--examples"></a>

### OAuth Autorizador 2.0
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer"></a>

OAuth Ejemplo de autorizador 2.0

#### YAML
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

# HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration"></a>

Administre el intercambio de recursos entre orígenes (CORS) para su HTTP. APIs Especifica el dominio que quieres permitir como cadena o especifica un diccionario con una configuración de Cors adicional. NOTA: Cors requiere que SAM modifique la definición de OpenAPI, por lo que solo funciona con los elementos OpenApi en línea definidos en la propiedad. `DefinitionBody`

Para obtener más información acerca de las API de HTTP, consulta [API de HTTP](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html) en la *Guía para desarrolladores de API Gateway*.

Nota: Si HttpApiCorsConfiguration se establece tanto en OpenAPI como en el nivel de propiedad, las AWS SAM fusiona con las propiedades que tienen prioridad.

## Sintaxis
<a name="sam-property-httpapi-httpapicorsconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapicorsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-httpapi-httpapicorsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-httpapi-httpapicorsconfiguration-allowheaders): List
  [AllowMethods](#sam-httpapi-httpapicorsconfiguration-allowmethods): List
  [AllowOrigins](#sam-httpapi-httpapicorsconfiguration-alloworigins): List
  [ExposeHeaders](#sam-httpapi-httpapicorsconfiguration-exposeheaders): List
  [MaxAge](#sam-httpapi-httpapicorsconfiguration-maxage): Integer
```

## Propiedades
<a name="sam-property-httpapi-httpapicorsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-httpapi-httpapicorsconfiguration-allowcredentials"></a>
Especifica si las credenciales están incluidas en la solicitud de CORS.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AllowHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-allowheaders"></a>
Representa una colección de encabezados permitidos.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AllowMethods`   <a name="sam-httpapi-httpapicorsconfiguration-allowmethods"></a>
Representa una colección de métodos HTTP permitidos.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `AllowOrigins`   <a name="sam-httpapi-httpapicorsconfiguration-alloworigins"></a>
Representa una colección de orígenes permitidos.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `ExposeHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-exposeheaders"></a>
Representa una colección de encabezados expuestos.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `MaxAge`   <a name="sam-httpapi-httpapicorsconfiguration-maxage"></a>
Número de segundos durante los que el navegador debe almacenar en caché los resultados de la solicitud preliminar.  
*Tipo*: entero  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-httpapi-httpapicorsconfiguration--examples"></a>

### HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration"></a>

Ejemplo de configuración básica de la API HTTP.

#### YAML
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration--yaml"></a>

```
CorsConfiguration:
  AllowOrigins:
    - "https://example.com"
  AllowHeaders:
    - x-apigateway-header
  AllowMethods:
    - GET
  MaxAge: 600
  AllowCredentials: true
```

# HttpApiDefinition
<a name="sam-property-httpapi-httpapidefinition"></a>

Un documento de OpenAPI que define la API.

## Sintaxis
<a name="sam-property-httpapi-httpapidefinition-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapidefinition-syntax.yaml"></a>

```
  [Bucket](#sam-httpapi-httpapidefinition-bucket): String
  [Key](#sam-httpapi-httpapidefinition-key): String
  [Version](#sam-httpapi-httpapidefinition-version): String
```

## Propiedades
<a name="sam-property-httpapi-httpapidefinition-properties"></a>

 `Bucket`   <a name="sam-httpapi-httpapidefinition-bucket"></a>
Nombre del bucket de Amazon S3 donde se almacena el archivo OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket)` propiedad del tipo de `AWS::ApiGatewayV2::Api` `BodyS3Location` datos.

 `Key`   <a name="sam-httpapi-httpapidefinition-key"></a>
La clave de Amazon S3 del archivo de OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key)` propiedad del tipo de `AWS::ApiGatewayV2::Api` `BodyS3Location` datos.

 `Version`   <a name="sam-httpapi-httpapidefinition-version"></a>
Para objetos con control de versiones, la versión del archivo de OpenAPI.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version)` propiedad del tipo de `AWS::ApiGatewayV2::Api` `BodyS3Location` datos.

## Ejemplos
<a name="sam-property-httpapi-httpapidefinition--examples"></a>

### Ejemplo de definición de Uri
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example"></a>

Ejemplo de definición de API

#### YAML
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# HttpApiDomainConfiguration
<a name="sam-property-httpapi-httpapidomainconfiguration"></a>

Configura un dominio personalizado para una API.

## Sintaxis
<a name="sam-property-httpapi-httpapidomainconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapidomainconfiguration-syntax.yaml"></a>

```
  [BasePath](#sam-httpapi-httpapidomainconfiguration-basepath): List
  [CertificateArn](#sam-httpapi-httpapidomainconfiguration-certificatearn): String
  [DomainName](#sam-httpapi-httpapidomainconfiguration-domainname): String
  [EndpointConfiguration](#sam-httpapi-httpapidomainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)
  [OwnershipVerificationCertificateArn](#sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn): String
  [Route53](#sam-httpapi-httpapidomainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-httpapi-httpapidomainconfiguration-securitypolicy): String
```

## Propiedades
<a name="sam-property-httpapi-httpapidomainconfiguration-properties"></a>

 `BasePath`   <a name="sam-httpapi-httpapidomainconfiguration-basepath"></a>
Una lista de las rutas base que se deben configurar con el nombre de dominio de Amazon API Gateway.  
*Tipo*: lista  
*Obligatorio*: no  
*Valor predeterminado*: /  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[ApiMappingKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey)` propiedad de un `AWS::ApiGatewayV2::ApiMapping` recurso. AWS SAM crea varios `AWS::ApiGatewayV2::ApiMapping` recursos, uno por cada valor especificado en esta propiedad.

 `CertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-certificatearn"></a>
El nombre de recurso de Amazon (ARN) de un certificado AWS administrado para el punto final de este nombre de dominio. AWS Certificate Manager es la única fuente compatible.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn)` propiedad de un `AWS::ApiGateway2::DomainName DomainNameConfiguration` recurso.

 `DomainName`   <a name="sam-httpapi-httpapidomainconfiguration-domainname"></a>
El nombre de dominio personalizado para su API de API Gateway. No se admiten letras mayúsculas.  
AWS SAM genera un `AWS::ApiGatewayV2::DomainName` recurso cuando se establece esta propiedad. Para obtener información acerca de esta situación, consulta [DomainName se especifica la propiedad](sam-specification-generated-resources-httpapi.md#sam-specification-generated-resources-httpapi-domain-name). Para obtener información sobre CloudFormation los recursos generados, consulte[CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname)` propiedad de un `AWS::ApiGateway2::DomainName` recurso.

 `EndpointConfiguration`   <a name="sam-httpapi-httpapidomainconfiguration-endpointconfiguration"></a>
Define el tipo de punto de conexión de API Gateway que se va a asignar al dominio personalizado. El valor de esta propiedad determina cómo se mapea la `CertificateArn` propiedad. CloudFormation  
El único valor válido para HTTP APIs es`REGIONAL`.  
*Tipo:* cadena  
*Obligatorio*: no  
*Valor predeterminado*: `REGIONAL`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `MutualTlsAuthentication`   <a name="sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication"></a>
La configuración de autenticación mutua de seguridad de la capa de transporte (TLS) para un nombre de dominio personalizado.  
*Tipo:* [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)` propiedad de un `AWS::ApiGatewayV2::DomainName` recurso.

 `OwnershipVerificationCertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn"></a>
El ARN del certificado público emitido por ACM para validar la propiedad de su dominio personalizado. Solo se requiere cuando se configura TLS mutua y se especifica un ARN de certificado de CA privado o importado de ACM para `CertificateArn`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn)` propiedad del tipo de `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` datos.

 `Route53`   <a name="sam-httpapi-httpapidomainconfiguration-route53"></a>
Define una configuración de Amazon Route 53.  
*Tipo*: [Route53Configuration](sam-property-httpapi-route53configuration.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `SecurityPolicy`   <a name="sam-httpapi-httpapidomainconfiguration-securitypolicy"></a>
La versión TLS de la política de seguridad para este nombre de dominio.  
El único valor válido para HTTP APIs es`TLS_1_2`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy)` propiedad del tipo de `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` datos.

## Ejemplos
<a name="sam-property-httpapi-httpapidomainconfiguration--examples"></a>

### DomainName
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname"></a>

DomainName ejemplo

#### YAML
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: REGIONAL
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# Route53Configuration
<a name="sam-property-httpapi-route53configuration"></a>

Configura los conjuntos de registros de Route53 para una API.

## Sintaxis
<a name="sam-property-httpapi-route53configuration-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-route53configuration-syntax.yaml"></a>

```
  [DistributionDomainName](#sam-httpapi-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-httpapi-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-httpapi-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-httpapi-route53configuration-hostedzonename): String
  [IpV6](#sam-httpapi-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
```

## Propiedades
<a name="sam-property-httpapi-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-httpapi-route53configuration-distributiondomainname"></a>
Configura una distribución personalizada del nombre de dominio personalizado de la API.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: utilice la distribución de API Gateway.  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` propiedad de un `AWS::Route53::RecordSetGroup AliasTarget` recurso.  
*Notas adicionales*: El nombre de dominio de una [CloudFrontdistribución](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html).

 `EvaluateTargetHealth`   <a name="sam-httpapi-route53configuration-evaluatetargethealth"></a>
Si EvaluateTargetHealth es verdadero, un registro de alias hereda el estado del AWS recurso al que se hace referencia, como un balanceador de cargas de Elastic Load Balancing u otro registro de la zona alojada.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` propiedad de un `AWS::Route53::RecordSetGroup AliasTarget` recurso.  
*Notas adicionales*: No se puede EvaluateTargetHealth establecer en true cuando el alias objetivo es una CloudFront distribución.

 `HostedZoneId`   <a name="sam-httpapi-route53configuration-hostedzoneid"></a>
ID de la zona alojada en la que desea crear registros.  
Especifica `HostedZoneName` o `HostedZoneId`, pero no ambos. Si tiene múltiples zonas hospedadas con el mismo nombre de dominio, debe especificar la zona hospedada mediante `HostedZoneId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` propiedad de un `AWS::Route53::RecordSetGroup RecordSet` recurso.

 `HostedZoneName`   <a name="sam-httpapi-route53configuration-hostedzonename"></a>
El nombre de la zona alojada en la que desea crear registros. Debe incluir un punto final (por ejemplo, `www.example.com.`) como parte del `HostedZoneName`.  
Especifica `HostedZoneName` o `HostedZoneId`, pero no ambos. Si tiene múltiples zonas hospedadas con el mismo nombre de dominio, debe especificar la zona hospedada mediante `HostedZoneId`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` propiedad de un `AWS::Route53::RecordSetGroup RecordSet` recurso.

 `IpV6`   <a name="sam-httpapi-route53configuration-ipv6"></a>
Cuando se establece esta propiedad, AWS SAM crea un `AWS::Route53::RecordSet` recurso y establece [Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) en `AAAA` el valor proporcionado HostedZone.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

`Region`  <a name="sam-httpapi-route53configuration-region"></a>
*Solo conjuntos de registros de recursos basados en la latencia: la* EC2 región de Amazon en la que creó el recurso al que hace referencia este conjunto de registros de recursos. El recurso suele ser un AWS recurso, como una EC2 instancia o un balanceador de cargas ELB, y se hace referencia a él mediante una dirección IP o un nombre de dominio DNS, según el tipo de registro.  
Cuando Amazon Route 53 recibe una consulta de DNS para un nombre y un tipo de dominio para los que ha creado conjuntos de registros de recursos de latencia, Route 53 selecciona el conjunto de registros de recursos de latencia que tiene la latencia más baja entre el usuario final y la EC2 región de Amazon asociada. Route 53 devuelve a continuación el valor asociado con el conjunto de registros de recursos seleccionados.  
Tenga en cuenta lo siguiente:  
+ Solo puede especificar un `ResourceRecord` por conjunto de registros de recursos de latencia.
+ Solo puedes crear un conjunto de registros de recursos de latencia para cada EC2 región de Amazon.
+ No es necesario que crees conjuntos de registros de recursos de latencia para todas las EC2 regiones de Amazon. Route 53 elige la región con la mejor latencia entre las regiones para las que crea conjuntos de registros de recursos de latencia.
+ No puede crear conjuntos de registros de recursos sin latencia que tengan los mismos valores `Name` y `Type` que los conjuntos de registros de recursos de latencia.
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` propiedad de un tipo de `AWS::Route53::RecordSetGroup` `RecordSet` datos.

`SetIdentifier`  <a name="sam-httpapi-route53configuration-setidentifier"></a>
*Conjuntos de registros de recursos que tienen una política de direccionamiento que no es simple:* Un identificador que diferencia entre varios conjuntos de registros de recursos con la misma combinación de nombre y tipo, como varios conjuntos de registros de recursos ponderados denominados acme.example.com de tipo A. En un grupo de conjuntos de registros de recursos que tengan el mismo nombre y tipo, el valor de `SetIdentifier` debe ser exclusivo para cada conjunto de registros de recursos.  
Para obtener información sobre cómo dirigir las políticas, consulta [Elección de una política de direccionamiento](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) en la *Guía para desarrolladores de Amazon Route 53*.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` propiedad de un tipo de `AWS::Route53::RecordSetGroup` `RecordSet` datos.

## Ejemplos
<a name="sam-property-httpapi-route53configuration--examples"></a>

### Ejemplo de configuración de Route 53
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example"></a>

En este ejemplo se muestra cómo configurar Route 53.

#### YAML
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
    EvaluateTargetHealth: true
    DistributionDomainName: xyz
```

# AWS::Serverless::LayerVersion
<a name="sam-resource-layerversion"></a>

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

El [AWS::Serverless::LayerVersion](#sam-resource-layerversion) recurso también admite el atributo `Metadata` resource, por lo que puede indicarle que cree AWS SAM las capas incluidas en su aplicación. Para obtener más información sobre la creación de capas, consulta [Creación de capas Lambda en AWS SAM](building-layers.md).

**Nota importante**: Desde la publicación del atributo de [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html)recurso en CloudFormation, [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html)(recomendado) ofrece las mismas ventajas que[AWS::Serverless::LayerVersion](#sam-resource-layerversion).

Cuando se transforma un servidor sin servidor LayerVersion , SAM también transforma el identificador lógico del recurso para que los antiguos no LayerVersions se eliminen automáticamente CloudFormation cuando se actualice el recurso.

**nota**  
Cuando lo implementa AWS CloudFormation, AWS SAM transforma sus AWS SAM 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-layerversion-syntax"></a>

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

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

```
Type: AWS::Serverless::LayerVersion
Properties:
  [CompatibleArchitectures](#sam-layerversion-compatiblearchitectures): List
  [CompatibleRuntimes](#sam-layerversion-compatibleruntimes): List
  [ContentUri](#sam-layerversion-contenturi): String | LayerContent
  [Description](#sam-layerversion-description): String
  [LayerName](#sam-layerversion-layername): String
  [LicenseInfo](#sam-layerversion-licenseinfo): String
  [PublishLambdaVersion](#sam-layerversion-PublishLambdaVersion): Boolean
  [RetentionPolicy](#sam-layerversion-retentionpolicy): String
```

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

 `CompatibleArchitectures`   <a name="sam-layerversion-compatiblearchitectures"></a>
Especifica las arquitecturas del conjunto de instrucciones compatibles para la versión de capa.  
Para obtener más información sobre esta propiedad, consulta [Arquitecturas del conjunto de instrucciones Lambda](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html) en la *Guía para desarrolladores de AWS Lambda *.  
*Valores válidos*: `x86_64`, `arm64`  
*Tipo*: lista  
*Obligatorio*: no  
*Valor predeterminado*: `x86_64`  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CompatibleArchitectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatiblearchitectures)` propiedad de un `AWS::Lambda::LayerVersion` recurso.

 `CompatibleRuntimes`   <a name="sam-layerversion-compatibleruntimes"></a>
Lista de tiempos de ejecución compatibles con esto LayerVersion.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[CompatibleRuntimes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatibleruntimes)` propiedad de un `AWS::Lambda::LayerVersion` recurso.

 `ContentUri`   <a name="sam-layerversion-contenturi"></a>
Uri de Amazon S3, ruta a la carpeta local u LayerContent objeto del código de capa.  
Si se proporciona un URI o un LayerContent objeto de Amazon S3, el objeto de Amazon S3 al que se hace referencia debe ser un archivo ZIP válido que contenga el contenido de una [capa Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).  
Si se proporciona una ruta a una carpeta local, para que el contenido se transforme correctamente, la plantilla debe seguir el flujo de trabajo que incluye [sam build](sam-cli-command-reference-sam-build.md) seguido de [sam deploy](sam-cli-command-reference-sam-deploy.md) o [sam package](sam-cli-command-reference-sam-package.md). De forma predeterminada, las rutas relativas se resuelven con respecto a la ubicación de la AWS SAM plantilla.  
*Tipo*: Cadena \$1 [LayerContent](sam-property-layerversion-layercontent.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Content](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-content)` propiedad de un `AWS::Lambda::LayerVersion` recurso. Las propiedades anidadas de Amazon S3 tienen un nombre diferente.

 `Description`   <a name="sam-layerversion-description"></a>
Descripción de esta capa.  
*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-layerversion.html#cfn-lambda-layerversion-description)` propiedad de un `AWS::Lambda::LayerVersion` recurso.

 `LayerName`   <a name="sam-layerversion-layername"></a>
El nombre o nombre de recurso de Amazon (ARN) de la capa.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: identificador lógico del recurso  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[LayerName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-layername)` propiedad de un `AWS::Lambda::LayerVersion` recurso. Si no especificas un nombre, se utilizará como nombre el ID lógico del recurso.

 `LicenseInfo`   <a name="sam-layerversion-licenseinfo"></a>
Información sobre la licencia correspondiente LayerVersion.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[LicenseInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-licenseinfo)` propiedad de un `AWS::Lambda::LayerVersion` recurso.

 `PublishLambdaVersion`   <a name="sam-layerversion-PublishLambdaVersion"></a>
Propiedad opcional que crea una nueva versión de Lambda cada vez que se produce un cambio en el recurso `LayerVersion` al que se hace referencia. Al habilitar la función de Lambda conectada con `AutoPublishAlias` y `AutoPublishAliasAllProperties`, se creará una nueva versión de Lambda para cada cambio realizado en el recurso `LayerVersion`.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `RetentionPolicy`   <a name="sam-layerversion-retentionpolicy"></a>
Esta propiedad especifica si las versiones antiguas de su `LayerVersion` se retienen o se eliminan al eliminar un recurso. Si tiene que retener sus versiones antiguas de `LayerVersion` al actualizar o reemplazar un recurso, debe tener el atributo `UpdateReplacePolicy` activado. Para obtener información sobre cómo hacerlo, consulte el [Atributo `UpdateReplacePolicy`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) en la *Guía del usuario de AWS CloudFormation *.  
*Valores válidos*: `Retain` o `Delete`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.  
*Notas adicionales*: Cuando se especifica`Retain`, se AWS SAM añade un [Atributos de recursos compatibles con AWS SAM](sam-specification-resource-attributes.md) valor de `DeletionPolicy: Retain` al `AWS::Lambda::LayerVersion` recurso transformado.

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

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

Cuando se proporciona el identificador lógico de este recurso a la función `Ref` intrínseca, devuelve el ARN del recurso de la Lambda subyacente. LayerVersion

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 *. 

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

### LayerVersionExample
<a name="sam-resource-layerversion--examples--layerversionexample"></a>

Ejemplo de LayerVersion

#### YAML
<a name="sam-resource-layerversion--examples--layerversionexample--yaml"></a>

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

# LayerContent
<a name="sam-property-layerversion-layercontent"></a>

Archivo ZIP que incluye el contenido de una [capa de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html).

## Sintaxis
<a name="sam-property-layerversion-layercontent-syntax"></a>

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

### YAML
<a name="sam-property-layerversion-layercontent-syntax.yaml"></a>

```
  [Bucket](#sam-layerversion-layercontent-bucket): String
  [Key](#sam-layerversion-layercontent-key): String
  [Version](#sam-layerversion-layercontent-version): String
```

## Propiedades
<a name="sam-property-layerversion-layercontent-properties"></a>

 `Bucket`   <a name="sam-layerversion-layercontent-bucket"></a>
El bucket de Amazon S3 del archivo de la capa.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3bucket)` propiedad del tipo de `AWS::Lambda::LayerVersion` `Content` datos.

 `Key`   <a name="sam-layerversion-layercontent-key"></a>
La clave de Amazon S3 del archivo de la capa.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3key)` propiedad del tipo de `AWS::Lambda::LayerVersion` `Content` datos.

 `Version`   <a name="sam-layerversion-layercontent-version"></a>
Para objetos con control de versiones, el objeto de archivo de la capa que se va a utilizar.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3objectversion)` propiedad del tipo de `AWS::Lambda::LayerVersion` `Content` datos.

## Ejemplos
<a name="sam-property-layerversion-layercontent--examples"></a>

### LayerContent
<a name="sam-property-layerversion-layercontent--examples--layercontent"></a>

Ejemplo de contenido de capa

#### YAML
<a name="sam-property-layerversion-layercontent--examples--layercontent--yaml"></a>

```
LayerContent:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# AWS::Serverless::SimpleTable
<a name="sam-resource-simpletable"></a>

Crea una tabla de DynamoDB con una clave principal de atributo único. Resulta útil cuando solo es necesario acceder a los datos mediante una clave principal.

Para obtener características más avanzadas, utilice un recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) en CloudFormation. Estos recursos se pueden utilizar en AWS SAM. Son completos y proporcionan una mayor personalización, como [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html) y [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html).

**nota**  
Cuando despliega en AWS CloudFormation, AWS SAM transforma sus AWS SAM 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-simpletable-syntax"></a>

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

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

```
Type: AWS::Serverless::SimpleTable
Properties:
  PointInTimeRecoverySpecification: [PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)
  [PrimaryKey](#sam-simpletable-primarykey): PrimaryKeyObject
  [ProvisionedThroughput](#sam-simpletable-provisionedthroughput): ProvisionedThroughputObject
  [SSESpecification](#sam-simpletable-ssespecification): [SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)
  [TableName](#sam-simpletable-tablename): String
  [Tags](#sam-simpletable-tags): Map
```

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

 `PointInTimeRecoverySpecification`   <a name="sam-simpletable-pointintimerecoveryspecification"></a>
La configuración utilizada para habilitar la recuperación a un momento dado.  
*Tipo*: [PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)` propiedad de un `AWS::DynamoDB::Table` recurso.

 `PrimaryKey`   <a name="sam-simpletable-primarykey"></a>
Nombre y tipo de atributo que se utilizará como clave principal de la tabla. Si no se proporciona, la clave principal será `String` con un valor de `id`.  
El valor de esta propiedad no se puede modificar después de crear este recurso.
*Tipo:* [PrimaryKeyObject](sam-property-simpletable-primarykeyobject.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ProvisionedThroughput`   <a name="sam-simpletable-provisionedthroughput"></a>
Lea y escriba la información de aprovisionamiento de rendimiento.  
Si `ProvisionedThroughput` no se especifica, `BillingMode` se especificará como `PAY_PER_REQUEST`.  
*Tipo:* [ProvisionedThroughputObject](sam-property-simpletable-provisionedthroughputobject.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ProvisionedThroughput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html)` propiedad de un `AWS::DynamoDB::Table` recurso.

 `SSESpecification`   <a name="sam-simpletable-ssespecification"></a>
Especifica la configuración para habilitar el cifrado del lado del servidor.  
*Tipo:* [SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)` propiedad de un `AWS::DynamoDB::Table` recurso.

 `TableName`   <a name="sam-simpletable-tablename"></a>
Nombre de la tabla de DynamoDB.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename)` propiedad de un `AWS::DynamoDB::Table` recurso.

 `Tags`   <a name="sam-simpletable-tags"></a>
Un mapa (cadena a cadena) que especifica las etiquetas que se van a añadir a este SimpleTable. Para obtener más información sobre las claves y los valores válidos de las etiquetas, consulta la [etiqueta de recursos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) en la *Guía del usuario de AWS CloudFormation *.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags)` propiedad de un `AWS::DynamoDB::Table` recurso. La propiedad Tags de SAM consta de pares clave-valor; en CloudFormation ella, consiste en una lista de objetos Tag.

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

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

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

Para obtener más información sobre el uso de la función `Ref`, consulta [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 *. 

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

### SimpleTableExample
<a name="sam-resource-simpletable--examples--simpletableexample"></a>

Ejemplo de SimpleTable

#### YAML
<a name="sam-resource-simpletable--examples--simpletableexample--yaml"></a>

```
Properties:
  TableName: my-table
  PrimaryKey:
    Name: MyPrimaryKey
    Type: String
  ProvisionedThroughput:
    ReadCapacityUnits: 5
    WriteCapacityUnits: 5
  Tags:
    Department: Engineering
    AppType: Serverless
```

# PrimaryKeyObject
<a name="sam-property-simpletable-primarykeyobject"></a>

El objeto que describe las propiedades de una clave principal.

## Sintaxis
<a name="sam-property-simpletable-primarykeyobject-syntax"></a>

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

### YAML
<a name="sam-property-simpletable-primarykeyobject-syntax.yaml"></a>

```
  [Name](#sam-simpletable-primarykeyobject-name): String
  [Type](#sam-simpletable-primarykeyobject-type): String
```

## Propiedades
<a name="sam-property-simpletable-primarykeyobject-properties"></a>

 `Name`   <a name="sam-simpletable-primarykeyobject-name"></a>
Nombre de atributo de la clave principal.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AttributeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename)` propiedad del tipo de `AWS::DynamoDB::Table` `AttributeDefinition` datos.  
*Notas adicionales*: Esta propiedad también se transfiere a la [AttributeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html#aws-properties-dynamodb-keyschema-attributename)propiedad de un tipo de `AWS::DynamoDB::Table KeySchema` datos.

 `Type`   <a name="sam-simpletable-primarykeyobject-type"></a>
El tipo de datos de la clave principal.  
*Valores válidos*: `String`, `Number`, `Binary`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[AttributeType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename-attributetype)` propiedad del tipo de `AWS::DynamoDB::Table` `AttributeDefinition` datos.

## Ejemplos
<a name="sam-property-simpletable-primarykeyobject--examples"></a>

### PrimaryKey
<a name="sam-property-simpletable-primarykeyobject--examples--primarykey"></a>

Ejemplo de clave principal

#### YAML
<a name="sam-property-simpletable-primarykeyobject--examples--primarykey--yaml"></a>

```
Properties:
  PrimaryKey:
    Name: MyPrimaryKey
    Type: String
```

# ProvisionedThroughputObject
<a name="sam-property-simpletable-provisionedthroughputobject"></a>

El objeto describe las propiedades de un rendimiento aprovisionado.

## Sintaxis
<a name="sam-property-simpletable-provisionedthroughputobject-syntax"></a>

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

### YAML
<a name="w2aac13c22c41c19b5b5"></a>

```
  [ReadCapacityUnits](#sam-simpletable-provisionedthroughputobject-readcapacityunits): Integer
  [WriteCapacityUnits](#sam-simpletable-provisionedthroughputobject-writecapacityunits): Integer
```

## Propiedades
<a name="sam-property-simpletable-provisionedthroughputobject-properties"></a>

 `ReadCapacityUnits`   <a name="sam-simpletable-provisionedthroughputobject-readcapacityunits"></a>
El número máximo de lecturas altamente coherentes consumidas por segundo antes de que DynamoDB devuelva una excepción `ThrottlingException`.  
*Tipo*: entero  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ReadCapacityUnits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#aws-properties-dynamodb-table-provisionedthroughput-properties)` propiedad del tipo de `AWS::DynamoDB::Table` `ProvisionedThroughput` datos.

 `WriteCapacityUnits`   <a name="sam-simpletable-provisionedthroughputobject-writecapacityunits"></a>
El número máximo de escrituras consumidas por segundo antes de que DynamoDB devuelve una excepción `ThrottlingException`.  
*Tipo*: entero  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[WriteCapacityUnits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#aws-properties-dynamodb-table-provisionedthroughput-properties)` propiedad del tipo de `AWS::DynamoDB::Table` `ProvisionedThroughput` datos.

## Ejemplos
<a name="sam-property-simpletable-provisionedthroughputobject--examples"></a>

### ProvisionedThroughput
<a name="sam-property-simpletable-provisionedthroughputobject--examples--provisionedthroughput"></a>

Ejemplo del rendimiento aprovisionado

#### YAML
<a name="sam-property-simpletable-provisionedthroughputobject--examples--provisionedthroughput--yaml"></a>

```
Properties:
   ProvisionedThroughput:
     ReadCapacityUnits: 5
     WriteCapacityUnits: 5
```

# AWS::Serverless::StateMachine
<a name="sam-resource-statemachine"></a>

Crea una máquina de AWS Step Functions estados que se puede utilizar para organizar AWS Lambda funciones y otros AWS recursos con el fin de crear flujos de trabajo complejos y sólidos.

Para obtener más información acerca de Step Functions, consulta la [AWS Step Functions Guía para desarrolladores de ](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html).

**nota**  
Cuando lo despliega AWS CloudFormation, AWS SAM transforma sus AWS SAM 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-statemachine-syntax"></a>

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

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

```
Type: AWS::Serverless::StateMachine
Properties:
  AutoPublishAlias: String
  UseAliasAsEventTarget: Boolean
  [Definition](#sam-statemachine-definition): Map
  [DefinitionSubstitutions](#sam-statemachine-definitionsubstitutions): Map
  [DefinitionUri](#sam-statemachine-definitionuri): String | [S3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)
  DeploymentPreference: [DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html)
  [Events](#sam-statemachine-events): EventSource
  [Logging](#sam-statemachine-logging): [LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)
  [Name](#sam-statemachine-name): String
  [PermissionsBoundary](#sam-statemachine-permissionsboundary): String
  [Policies](#sam-statemachine-policies): String | List | Map
  PropagateTags: Boolean
  [RolePath](#sam-statemachine-rolepath): String
  [Role](#sam-statemachine-role): String
  [Tags](#sam-statemachine-tags): Map
  [Tracing](#sam-statemachine-tracing): [TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)
  [Type](#sam-statemachine-type): String
```

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

 `AutoPublishAlias`   <a name="sam-statemachine-autopublishalias"></a>
El nombre del alias de la máquina de estado. *Para obtener más información sobre el uso de los alias de máquinas de estado de Step Functions, consulta [Gestión de implementasciones continuas con versiones y alias](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-cd-aliasing-versioning.html) en la Guía para desarrolladores de AWS Step Functions *.  
`DeploymentPreference`Utilícelo para configurar las preferencias de implementación de su alias. Si no lo especificas`DeploymentPreference`, AWS SAM configurará el tráfico para que cambie a la versión más reciente de la máquina de estados de una sola vez.  
AWS SAM establece las versiones `DeletionPolicy` y en `UpdateReplacePolicy` de forma `Retain` predeterminada. Las versiones anteriores no se eliminarán automáticamente.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la ` [ Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-name)` propiedad de un `AWS::StepFunctions::StateMachineAlias` recurso.

 `UseAliasAsEventTarget`   <a name="sam-statemachine-usealiasaseventtarget"></a>
Indique si quiere pasar o no el alias, creado mediante la propiedad `AutoPublishAlias`, al destino del origen de eventos definido con [Eventos](#sam-statemachine-events).  
Especifique `True` si quiere utilizar el alias como destino de los eventos.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: `False`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Definition`   <a name="sam-statemachine-definition"></a>
La definición de la máquina de estados es un objeto, donde el formato del objeto coincide con el formato del archivo de AWS SAM plantilla, por ejemplo, JSON o YAML. Las definiciones de máquina de estado cumplen con el [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).  
Para ver un ejemplo de una definición de máquina de estados en línea, consulta [Ejemplos](#sam-resource-statemachine--examples).  
Debe proporcionar un `Definition` o un `DefinitionUri`.  
*Tipo*: mapa  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `DefinitionSubstitutions`   <a name="sam-statemachine-definitionsubstitutions"></a>
Un string-to-string mapa que especifica las asignaciones de las variables de marcador de posición en la definición de la máquina de estados. Esto permite al cliente inyectar valores obtenidos en tiempo de ejecución, por ejemplo, a partir de funciones intrínsecas, en la definición de máquina de estado.  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DefinitionSubstitutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionsubstitutions)` propiedad de un recurso. `AWS::StepFunctions::StateMachine` Si se especifica alguna función intrínseca en una definición de máquina de estados en línea, AWS SAM agrega entradas a esta propiedad para insertarlas en la definición de máquina de estados.

 `DefinitionUri`   <a name="sam-statemachine-definitionuri"></a>
La URI de Amazon Simple Storage Service (Amazon S3) o la ruta de archivo local de la definición de la máquina de estados escrita en [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).  
Si proporcionas una ruta de archivo local, la plantilla debe seguir el flujo de trabajo que incluye el comando `sam deploy` o `sam package` para transformar la definición correctamente. Para hacerlo, debe utilizar la versión 0.52.0 o posterior de la CLI de AWS SAM .  
Debe proporcionar un `Definition` o un `DefinitionUri`.  
*Tipo*: Cadena \$1 [S3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[DefinitionS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)` propiedad de un `AWS::StepFunctions::StateMachine` recurso.

 `DeploymentPreference`   <a name="sam-statemachine-deploymentpreference"></a>
Los ajustes que permiten y configuran las implementasciones graduales de máquinas de estado. *Para obtener más información sobre las implementasciones graduales de Step Functions, consulta [Gestión de implementasciones continuas con versiones y alias](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-cd-aliasing-versioning.html) en la Guía para desarrolladores de AWS Step Functions *.  
Especifica esta propiedad `AutoPublishAlias` antes de configurar. La configuración `DeploymentPreference` se aplicará al alias especificado con `AutoPublishAlias`.  
Cuando se especifica`DeploymentPreference`, AWS SAM genera el valor de la `StateMachineVersionArn` subpropiedad automáticamente.  
*Tipo:* [DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: AWS SAM genera y adjunta el valor de la `StateMachineVersionArn` propiedad `DeploymentPreference` y lo transfiere `DeploymentPreference` a la `[DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-deploymentpreference)` propiedad de un `AWS::StepFunctions::StateMachineAlias` recurso. 

 `Events`   <a name="sam-statemachine-events"></a>
Especifica los eventos que activan esta máquina de estados. Los eventos constan de un tipo y un conjunto de propiedades que dependen del tipo.  
*Tipo:* [EventSource](sam-property-statemachine-statemachineeventsource.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Logging`   <a name="sam-statemachine-logging"></a>
Define qué eventos del historial de ejecución se registran y dónde se registran.  
*Tipo:* [LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)` propiedad de un `AWS::StepFunctions::StateMachine` recurso.

 `Name`   <a name="sam-statemachine-name"></a>
El nombre de la máquina de estado.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StateMachineName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename)` propiedad de un `AWS::StepFunctions::StateMachine` recurso.

 `PermissionsBoundary`   <a name="sam-statemachine-permissionsboundary"></a>
El ARN de un límite de permisos que se utilizará para el rol de ejecución de esta máquina de estados. 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-statemachine-policies"></a>
Políticas de permisos para esta máquina de estados. Las políticas se añadirán a la función de ejecución predeterminada de la máquina de estados 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 administrada 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 \$1 Lista \$1 Mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

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

 `Role`   <a name="sam-statemachine-role"></a>
El ARN de un rol de IAM que se utilizará como rol de ejecución de esta máquina de estados.  
*Tipo:* cadena  
*Obligatorio*: condicional  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-rolearn)` propiedad de un `AWS::StepFunctions::StateMachine` recurso.

 `RolePath`   <a name="sam-statemachine-rolepath"></a>
La ruta al rol de ejecución IAM de la máquina de estados.  
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.

 `Tags`   <a name="sam-statemachine-tags"></a>
Un string-to-string mapa que especifica las etiquetas añadidas a la máquina de estados y la función de ejecución correspondiente. Para obtener información sobre las claves y los valores válidos de las etiquetas, consulta la propiedad [Etiquetas](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags) de un recurso [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html).  
*Tipo*: mapa  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags)` propiedad de un `AWS::StepFunctions::StateMachine` recurso. AWS SAM agrega automáticamente una `stateMachine:createdBy:SAM` etiqueta a este recurso y al rol predeterminado que se genera para él.

 `Tracing`   <a name="sam-statemachine-tracing"></a>
Selecciona si AWS X-Ray está habilitada o no para la máquina de estados. Para obtener más información sobre X-Ray con Step Functions, consulta [Step Functions y AWS X-Ray](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html) en la *Guía para desarrolladores de AWS Step Functions *.  
*Tipo:* [TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)` propiedad de un `AWS::StepFunctions::StateMachine` recurso.

 `Type`   <a name="sam-statemachine-type"></a>
El tipo de máquina de estado.  
*Valores válidos*: `STANDARD` o `EXPRESS`  
*Tipo*: cadena  
*Obligatorio*: no  
*Valor predeterminado*: `STANDARD`  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StateMachineType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinetype)` propiedad de un `AWS::StepFunctions::StateMachine` recurso.

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

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

Al proporcionar el ID lógico de este recurso a la función intrínseca Ref, esta devuelve el nombre de recurso de Amazon (ARN) del recurso `AWS::StepFunctions::StateMachine` 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-statemachine-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 *. 

`Name`  <a name="Name-fn::getatt"></a>
Devuelve el nombre de la máquina de estados, como `HelloWorld-StateMachine`.

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

### Archivo de definición de máquina de estado
<a name="sam-resource-statemachine--examples--state-machine-definition-file"></a>

A continuación, se muestra un ejemplo de una definición de máquina de estados en línea que permite que una función de Lambda invoque una máquina de estados en línea. Tenga en cuenta que en este ejemplo se espera que la propiedad `Role` configure la política adecuada para permitir la invocación. El archivo `my_state_machine.asl.json` debe estar escrito en [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html).

En este ejemplo, las `DefinitionSubstitution` entradas permiten que la máquina de estados incluya los recursos declarados en el archivo de AWS SAM plantilla.

#### YAML
<a name="sam-resource-statemachine--examples--state-machine-definition-file--yaml"></a>

```
MySampleStateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    DefinitionUri: statemachine/my_state_machine.asl.json
    Role: arn:aws:iam::123456123456:role/service-role/my-sample-role
    Tracing:
      Enabled: true
    DefinitionSubstitutions:
      MyFunctionArn: !GetAtt MyFunction.Arn
      MyDDBTable: !Ref TransactionTable
```

### Definición de máquina de estados en línea
<a name="sam-resource-statemachine--examples--inline-state-machine-definition"></a>

A continuación, se muestra un ejemplo de una definición de máquinas de estado insertadas.

En este ejemplo, el archivo de AWS SAM plantilla está escrito en YAML, por lo que la definición de la máquina de estados también está en YAML. Para declarar una definición de máquina de estados integrada en JSON, escribe el archivo de AWS SAM plantilla en JSON.

#### YAML
<a name="sam-resource-statemachine--examples--inline-state-machine-definition--yaml"></a>

```
MySampleStateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    Definition:
      StartAt: MyLambdaState
      States:
        MyLambdaState:
          Type: Task
          Resource: arn:aws:lambda:us-east-1:123456123456:function:my-sample-lambda-app
          End: true
    Role: arn:aws:iam::123456123456:role/service-role/my-sample-role
    Tracing:
      Enabled: true
```

# EventSource
<a name="sam-property-statemachine-statemachineeventsource"></a>

El objeto que describe la fuente de los eventos que activan la máquina de estados. Cada evento consta de un tipo y un conjunto de propiedades que dependen de ese tipo. Para obtener información acerca de las propiedades de cada fuente de eventos, consulta el tema secundario correspondiente a ese tipo.

## Sintaxis
<a name="sam-property-statemachine-statemachineeventsource-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineeventsource-syntax.yaml"></a>

```
  [Properties](#sam-statemachine-statemachineeventsource-properties): Schedule | ScheduleV2 | CloudWatchEvent | EventBridgeRule | Api
  [Type](#sam-statemachine-statemachineeventsource-type): String
```

## Propiedades
<a name="sam-property-statemachine-statemachineeventsource-properties"></a>

 `Properties`   <a name="sam-statemachine-statemachineeventsource-properties"></a>
Un objeto que describe las propiedades de este mapeo de eventos. El conjunto de propiedades debe ajustarse al `Type` definido.  
*Tipo*[: [Schedule](sam-property-statemachine-statemachineschedule.md) \$1 [ScheduleV2](sam-property-statemachine-statemachineschedulev2.md) \$1 \$1 [CloudWatchEvent](sam-property-statemachine-statemachinecloudwatchevent.md)\$1 [EventBridgeRule](sam-property-statemachine-statemachineeventbridgerule.md)Api](sam-property-statemachine-statemachineapi.md)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Type`   <a name="sam-statemachine-statemachineeventsource-type"></a>
Tipo de evento.  
*Valores válidos*: `Api`, `Schedule`, `ScheduleV2`, `CloudWatchEvent`, `EventBridgeRule`  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-statemachine-statemachineeventsource--examples"></a>

### API
<a name="sam-property-statemachine-statemachineeventsource--examples--api"></a>

A continuación, se muestra un ejemplo de un evento tipo `API`.

#### YAML
<a name="sam-property-statemachine-statemachineeventsource--examples--api--yaml"></a>

```
ApiEvent:
  Type: Api
  Properties:
    Method: get
    Path: /group/{user}
    RestApiId: 
      Ref: MyApi
```

# Api
<a name="sam-property-statemachine-statemachineapi"></a>

El objeto que describe un tipo de fuente de evento de `Api`. Si se define un recurso [AWS::Serverless::Api](sam-resource-api.md), los valores de ruta y método deben corresponder a una operación de la definición de OpenAPI de la API. 

## Sintaxis
<a name="sam-property-statemachine-statemachineapi-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineapi-syntax.yaml"></a>

```
  [Auth](#sam-statemachine-statemachineapi-auth): ApiStateMachineAuth
  [Method](#sam-statemachine-statemachineapi-method): String
  [Path](#sam-statemachine-statemachineapi-path): String
  [RestApiId](#sam-statemachine-statemachineapi-restapiid): String
  UnescapeMappingTemplate: Boolean
```

## Propiedades
<a name="sam-property-statemachine-statemachineapi-properties"></a>

 `Auth`   <a name="sam-statemachine-statemachineapi-auth"></a>
La configuración de autorización de esta API, ruta y método.  
Usa esta propiedad para anular la configuración `DefaultAuthorizer` de la API para una ruta individual, si no se especifica `DefaultAuthorizer`, o para anular la configuración de `ApiKeyRequired` predeterminada.  
*Tipo:* [ApiStateMachineAuth](sam-property-statemachine-apistatemachineauth.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Method`   <a name="sam-statemachine-statemachineapi-method"></a>
El método HTTP para el que se invoca esta función.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Path`   <a name="sam-statemachine-statemachineapi-path"></a>
La ruta URI para la que se invoca esta función. El valor debe empezar por `/`.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `RestApiId`   <a name="sam-statemachine-statemachineapi-restapiid"></a>
El identificador de un recurso `RestApi`, que debe contener una operación con la ruta y el método dados. Normalmente, se configura para hacer referencia a un recurso [AWS::Serverless::Api](sam-resource-api.md) definido en esta plantilla.  
Si no define esta propiedad, AWS SAM crea un [AWS::Serverless::Api](sam-resource-api.md) recurso predeterminado a partir de un `OpenApi` documento generado. Ese recurso contiene una unión de todas las rutas y métodos definidos por eventos `Api` de la misma plantilla que no especifican un `RestApiId`.  
Esta propiedad no puede hacer referencia a un recurso [AWS::Serverless::Api](sam-resource-api.md) definido en otra plantilla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `UnescapeMappingTemplate`   <a name="sam-statemachine-statemachineapi-unescapemappingtemplate"></a>
Evita las comillas simples, sustituyendo `\'` por `'`, en la entrada que se pasa a la máquina de estados. Haga esto cuando la entrada contenga comillas simples.  
Si se establece en `False` y la entrada contiene comillas simples, se producirá un error.
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: False  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-statemachine-statemachineapi--examples"></a>

### ApiEvent
<a name="sam-property-statemachine-statemachineapi--examples--apievent"></a>

A continuación, se muestra un ejemplo de un evento tipo `Api`.

#### YAML
<a name="sam-property-statemachine-statemachineapi--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
```

# ApiStateMachineAuth
<a name="sam-property-statemachine-apistatemachineauth"></a>

Configura la autorización a nivel de evento para una API, una ruta y un método específicos.

## Sintaxis
<a name="sam-property-statemachine-apistatemachineauth-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-apistatemachineauth-syntax.yaml"></a>

```
  [ApiKeyRequired](#sam-statemachine-apistatemachineauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-statemachine-apistatemachineauth-authorizationscopes): List
  [Authorizer](#sam-statemachine-apistatemachineauth-authorizer): String
  [ResourcePolicy](#sam-statemachine-apistatemachineauth-resourcepolicy): ResourcePolicyStatement
```

## Propiedades
<a name="sam-property-statemachine-apistatemachineauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-statemachine-apistatemachineauth-apikeyrequired"></a>
Requiere una clave de API para esta API, ruta y método.  
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `AuthorizationScopes`   <a name="sam-statemachine-apistatemachineauth-authorizationscopes"></a>
Los ámbitos de autorización que se aplicarán a esta API, ruta y método.  
Los ámbitos que especifica anularán los ámbitos aplicados por la propiedad de `DefaultAuthorizer` si los ha especificado.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `Authorizer`   <a name="sam-statemachine-apistatemachineauth-authorizer"></a>
El `Authorizer` para una máquina de estados específica.  
Si especificaste un autorizador global para la API y quieres que esta máquina de estados sea pública, anula el autorizador global configurando `Authorizer` en `NONE`.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `ResourcePolicy`   <a name="sam-statemachine-apistatemachineauth-resourcepolicy"></a>
Configura la política de recursos para esta API y esta ruta.  
*Tipo:* [ResourcePolicyStatement](sam-property-statemachine-resourcepolicystatement.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-statemachine-apistatemachineauth--examples"></a>

### StateMachine-Autenticación
<a name="sam-property-statemachine-apistatemachineauth--examples--statemachine-auth"></a>

El siguiente ejemplo especifica la autorización a nivel de máquina de estado.

#### YAML
<a name="sam-property-statemachine-apistatemachineauth--examples--statemachine-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

# ResourcePolicyStatement
<a name="sam-property-statemachine-resourcepolicystatement"></a>

Configura una política de recursos para todos los métodos y rutas de una API. Para obtener más información sobre las políticas de recursos, consulta [Controlar el acceso a una API con las políticas de recursos de API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) en la *Guía para desarrolladores de API Gateway*.

## Sintaxis
<a name="sam-property-statemachine-resourcepolicystatement-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-statemachine-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-statemachine-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-statemachine-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-statemachine-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-statemachine-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-statemachine-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-statemachine-resourcepolicystatement-sourcevpcwhitelist): List
```

## Propiedades
<a name="sam-property-statemachine-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-statemachine-resourcepolicystatement-awsaccountblacklist"></a>
Las AWS cuentas que se van a bloquear.  
*Tipo*: lista de cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `AwsAccountWhitelist`   <a name="sam-statemachine-resourcepolicystatement-awsaccountwhitelist"></a>
Las AWS cuentas que se van a permitir. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista de cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `CustomStatements`   <a name="sam-statemachine-resourcepolicystatement-customstatements"></a>
Una lista de instrucciones de política de recursos personalizadas para aplicarlas a esta API. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpcBlacklist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist"></a>
La lista de nubes privadas virtuales (VPCs) que se van a bloquear, en la que cada VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la función `Ref` [intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpcWhitelist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist"></a>
La lista de VPCs permitidos, donde cada VPC se especifica como una referencia, como una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la función `Ref` [intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpceBlacklist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist"></a>
La lista de puntos de conexión de VPC que se van a bloquear, donde cada punto de conexión de VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la [función intrínseca `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IntrinsicVpceWhitelist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist"></a>
La lista de nubes privadas virtuales (VPC) permitidas, donde cada punto de conexión de VPC se especifica como referencia, por ejemplo, una [referencia dinámica](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la [función intrínseca `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IpRangeBlacklist`   <a name="sam-statemachine-resourcepolicystatement-iprangeblacklist"></a>
Las direcciones IP o los rangos de direcciones que se van a bloquear. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `IpRangeWhitelist`   <a name="sam-statemachine-resourcepolicystatement-iprangewhitelist"></a>
Las direcciones IP o los rangos de direcciones que se van a permitir.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceVpcBlacklist`   <a name="sam-statemachine-resourcepolicystatement-sourcevpcblacklist"></a>
La VPC de origen o los puntos de conexión de VPC que se van a bloquear. Los nombres de la VPC de origen deben empezar por `"vpc-"` y los nombres de los puntos de conexión de VPC de origen deben empezar por `"vpce-"`. Para obtener un ejemplo del uso de esta propiedad, consulta la sección Ejemplos al final de esta página.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `SourceVpcWhitelist`   <a name="sam-statemachine-resourcepolicystatement-sourcevpcwhitelist"></a>
La VPC de origen o los puntos de conexión de VPC que se van a permitir. Los nombres de la VPC de origen deben empezar por `"vpc-"` y los nombres de los puntos de conexión de VPC de origen deben empezar por `"vpce-"`.  
*Tipo*: lista  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

## Ejemplos
<a name="sam-property-statemachine-resourcepolicystatement--examples"></a>

### Ejemplo de política de recursos
<a name="sam-property-statemachine-resourcepolicystatement--examples--resource-policy-example"></a>

El siguiente ejemplo bloquea dos direcciones IP y una VPC de origen y permite una AWS cuenta.

#### YAML
<a name="sam-property-statemachine-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# CloudWatchEvent
<a name="sam-property-statemachine-statemachinecloudwatchevent"></a>

El objeto que describe un tipo de fuente de evento `CloudWatchEvent`.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)recurso cuando se establece este tipo de evento.

**Nota importante**: [EventBridgeRule](sam-property-statemachine-statemachineeventbridgerule.md) es el tipo de fuente de eventos preferido para usar, en lugar de`CloudWatchEvent`. `EventBridgeRule`y `CloudWatchEvent` usa el mismo servicio, API y CloudFormation recursos subyacentes. Sin embargo, solo AWS SAM agregará soporte para nuevas funciones para`EventBridgeRule`.

## Sintaxis
<a name="sam-property-statemachine-statemachinecloudwatchevent-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinecloudwatchevent-syntax.yaml"></a>

```
  [EventBusName](#sam-statemachine-statemachinecloudwatchevent-eventbusname): String
  [Input](#sam-statemachine-statemachinecloudwatchevent-input): String
  [InputPath](#sam-statemachine-statemachinecloudwatchevent-inputpath): String
  [Pattern](#sam-statemachine-statemachinecloudwatchevent-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
```

## Propiedades
<a name="sam-property-statemachine-statemachinecloudwatchevent-properties"></a>

 `EventBusName`   <a name="sam-statemachine-statemachinecloudwatchevent-eventbusname"></a>
El bus de eventos que se asociará a esta regla. Si omite esta propiedad, AWS SAM utiliza el bus de eventos predeterminado.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: bus de eventos predeterminado  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propiedad de un `AWS::Events::Rule` recurso.

 `Input`   <a name="sam-statemachine-statemachinecloudwatchevent-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propiedad de un `AWS::Events::Rule Target` recurso.

 `InputPath`   <a name="sam-statemachine-statemachinecloudwatchevent-inputpath"></a>
Cuando no desee pasar todo el evento coincidente al destino, utilice la propiedad `InputPath` para describir qué parte del evento pasar.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propiedad de un `AWS::Events::Rule Target` recurso.

 `Pattern`   <a name="sam-statemachine-statemachinecloudwatchevent-pattern"></a>
Describe qué eventos se dirigen al destino especificado. Para obtener más información, consulte [Eventos y patrones de eventos EventBridge en](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) la *Guía del EventBridge usuario de Amazon*.  
*Tipo:* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propiedad de un `AWS::Events::Rule` recurso.

## Ejemplos
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples"></a>

### CloudWatchEvent
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples--cloudwatchevent"></a>

A continuación, se muestra un ejemplo de un tipo de fuente de evento `CloudWatchEvent`.

#### YAML
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples--cloudwatchevent--yaml"></a>

```
CWEvent:
  Type: CloudWatchEvent
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - running
```

# EventBridgeRule
<a name="sam-property-statemachine-statemachineeventbridgerule"></a>

El objeto que describe un tipo de fuente de `EventBridgeRule` eventos, que establece tu máquina de estados como el destino de una EventBridge regla de Amazon. Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*.

AWS SAM genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)recurso cuando se establece este tipo de evento.

## Sintaxis
<a name="sam-property-statemachine-statemachineeventbridgerule-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineeventbridgerule-syntax.yaml"></a>

```
  DeadLetterConfig: DeadLetterConfig
  EventBusName: String
  Input: String
  InputPath: String
  InputTransformer: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)
  Pattern: [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  RetryPolicy: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  RuleName: String
  State: String
  Target: Target
```

## Propiedades
<a name="sam-property-statemachine-statemachineeventbridgerule-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineeventbridgerule-deadletterconfig"></a>
Configure la cola del Amazon Simple Queue Service (Amazon SQS), desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una función de Lambda que no existe o EventBridge cuando no hay permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
*Tipo:* [DeadLetterConfig](sam-property-statemachine-statemachinedeadletterconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` propiedad del tipo de datos. `AWS::Events::Rule` `Target` La AWS SAM versión de esta propiedad incluye subpropiedades adicionales, por si AWS SAM quiere crear automáticamente una cola de texto sin procesar.

 `EventBusName`   <a name="sam-statemachine-statemachineeventbridgerule-eventbusname"></a>
El bus de eventos que se asociará a esta regla. Si omite esta propiedad, AWS SAM utiliza el bus de eventos predeterminado.  
*Tipo:* cadena  
*Obligatorio*: no  
*Predeterminado*: bus de eventos predeterminado  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` propiedad de un `AWS::Events::Rule` recurso.

 `Input`   <a name="sam-statemachine-statemachineeventbridgerule-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propiedad de un `AWS::Events::Rule Target` recurso.

 `InputPath`   <a name="sam-statemachine-statemachineeventbridgerule-inputpath"></a>
Cuando no desee pasar todo el evento coincidente al destino, utilice la propiedad `InputPath` para describir qué parte del evento pasar.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` propiedad de un `AWS::Events::Rule Target` recurso.

`InputTransformer`  <a name="sam-statemachine-statemachineeventbridgerule-inputtransformer"></a>
Configuración que permite proporcionar una entrada personalizada a un destino en función de determinados datos de eventos. Puedes extraer uno o más pares clave-valor del evento y, a continuación, utilizar dichos datos para enviar una entrada personalizada al destino. Para obtener más información, consulta la [transformación EventBridge de entradas de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html) en la *Guía del EventBridge usuario de Amazon*.  
*Tipo:* [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html) ` propiedad de un tipo de `AWS::Events::Rule` `Target` datos.

 `Pattern`   <a name="sam-statemachine-statemachineeventbridgerule-pattern"></a>
Describe qué eventos se dirigen al destino especificado. Para obtener más información, consulte [Eventos y patrones de eventos EventBridge en](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) la *Guía del EventBridge usuario de Amazon*.  
*Tipo:* [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` propiedad de un `AWS::Events::Rule` recurso.

 `RetryPolicy`   <a name="sam-statemachine-statemachineeventbridgerule-retrypolicy"></a>
Objeto de la `RetryPolicy` que incluye información acerca de la configuración de la política de reintentos. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
*Tipo:* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propiedad del tipo de datos. `AWS::Events::Rule` `Target`

 `RuleName`   <a name="sam-statemachine-statemachineeventbridgerule-rulename"></a>
El nombre de la regla.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propiedad de un `AWS::Events::Rule` recurso.

`State`  <a name="sam-statemachine-statemachineeventbridgerule-state"></a>
El estado de la regla.  
*Valores válidos*: `[ DISABLED | ENABLED ]`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso.

 `Target`   <a name="sam-statemachine-statemachineeventbridgerule-target"></a>
El AWS recurso que se EventBridge invoca cuando se activa una regla. Puedes utilizar esta propiedad para especificar el ID lógico del objetivo. Si no se especifica esta propiedad, AWS SAM genera el ID lógico del objetivo.  
*Tipo*: [destino](sam-property-statemachine-statemachinetarget.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` propiedad de un `AWS::Events::Rule` recurso. La versión AWS SAM de esta propiedad solo permite especificar el identificador lógico de un único destino.

## Ejemplos
<a name="sam-property-statemachine-statemachineeventbridgerule--examples"></a>

### EventBridgeRule
<a name="sam-property-statemachine-statemachineeventbridgerule--examples--eventbridgerule"></a>

A continuación, se muestra un ejemplo de un tipo de fuente de evento `EventBridgeRule`.

#### YAML
<a name="sam-property-statemachine-statemachineeventbridgerule--examples--eventbridgerule--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - terminated
```

# DeadLetterConfig
<a name="sam-property-statemachine-statemachinedeadletterconfig"></a>

El objeto utilizado para especificar la cola del Amazon Simple Queue Service (Amazon SQS) desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una máquina de estado que no existe o cuando no hay permisos suficientes para invocar la máquina de estado. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *

## Sintaxis
<a name="sam-property-statemachine-statemachinedeadletterconfig-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinedeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-statemachine-statemachinedeadletterconfig-arn): String
  [QueueLogicalId](#sam-statemachine-statemachinedeadletterconfig-queuelogicalid): String
  [Type](#sam-statemachine-statemachinedeadletterconfig-type): String
```

## Propiedades
<a name="sam-property-statemachine-statemachinedeadletterconfig-properties"></a>

 `Arn`   <a name="sam-statemachine-statemachinedeadletterconfig-arn"></a>
El nombre de recurso de Amazon (ARN) de la cola SQS de Amazon especificada como destino de la cola de mensajes fallidos.  
Especifique la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propiedad del tipo de `AWS::Events::Rule` `DeadLetterConfig` datos.

 `QueueLogicalId`   <a name="sam-statemachine-statemachinedeadletterconfig-queuelogicalid"></a>
`Type`Se especifica el nombre personalizado de la cola de cartas muertas que la AWS SAM crea.  
Si no se especifica la propiedad `Type`, entonces esta propiedad se pasa por alto.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Type`   <a name="sam-statemachine-statemachinedeadletterconfig-type"></a>
Tipo de cola. Cuando se establece esta propiedad, crea AWS SAM automáticamente una cola sin efecto y adjunta la [política basada en los recursos](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) necesaria para conceder permiso al recurso de regla para enviar eventos a la cola.  
Especifica la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Valores válidos*: `SQS`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva y no tiene un equivalente. AWS SAM CloudFormation 

## Ejemplos
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-statemachine-statemachinetarget"></a>

Configura el AWS recurso que se EventBridge invoca cuando se activa una regla.

## Sintaxis
<a name="sam-property-statemachine-statemachinetarget-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinetarget-syntax.yaml"></a>

```
  [Id](#sam-statemachine-statemachinetarget-id): String
```

## Propiedades
<a name="sam-property-statemachine-statemachinetarget-properties"></a>

 `Id`   <a name="sam-statemachine-statemachinetarget-id"></a>
El ID lógico del destino.  
El valor de `Id` puede contener caracteres alfanuméricos, puntos (`.`), guiones (`-`) y guiones bajos (`_`).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` propiedad del tipo de `AWS::Events::Rule` `Target` datos.

## Ejemplos
<a name="sam-property-statemachine-statemachinetarget--examples"></a>

### Target
<a name="sam-property-statemachine-statemachinetarget--examples--target"></a>

#### YAML
<a name="sam-property-statemachine-statemachinetarget--examples--target--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Target:
      Id: MyTarget
```

# Schedule
<a name="sam-property-statemachine-statemachineschedule"></a>

El objeto que describe un tipo de fuente de `Schedule` eventos, que establece su máquina de estados como el objetivo de una EventBridge regla que se activa según una programación. Para obtener más información, consulta [¿Qué es Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) en la *Guía del EventBridge usuario de Amazon*.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html)recurso cuando se establece este tipo de evento.

## Sintaxis
<a name="sam-property-statemachine-statemachineschedule-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineschedule-syntax.yaml"></a>

```
  [DeadLetterConfig](#sam-statemachine-statemachineschedule-deadletterconfig): DeadLetterConfig
  [Description](#sam-statemachine-statemachineschedule-description): String
  [Enabled](#sam-statemachine-statemachineschedule-enabled): Boolean
  [Input](#sam-statemachine-statemachineschedule-input): String
  [Name](#sam-statemachine-statemachineschedule-name): String
  [RetryPolicy](#sam-statemachine-statemachineschedule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  [RoleArn](#sam-statemachine-statemachineschedulev-rolearn): String
  [Schedule](#sam-statemachine-statemachineschedule-schedule): String
  [State](#sam-statemachine-statemachineschedule-state): String
  Target: Target
```

## Propiedades
<a name="sam-property-statemachine-statemachineschedule-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineschedule-deadletterconfig"></a>
Configure la cola del Amazon Simple Queue Service (Amazon SQS), desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una función de Lambda que no existe o EventBridge cuando no hay permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
*Tipo:* [DeadLetterConfig](sam-property-statemachine-statemachinescheduledeadletterconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` propiedad del tipo de datos. `AWS::Events::Rule` `Target` La AWS SAM versión de esta propiedad incluye subpropiedades adicionales, por si AWS SAM quiere crear automáticamente una cola de texto sin procesar.

 `Description`   <a name="sam-statemachine-statemachineschedule-description"></a>
Una descripción del conjunto de reglas.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description)` propiedad de un recurso. `AWS::Events::Rule`

 `Enabled`   <a name="sam-statemachine-statemachineschedule-enabled"></a>
Indica si la regla está habilitada.  
Para deshabilitar la regla, defina esta propiedad en `false`.  
Especifique la propiedad `Enabled` o `State`, pero no ambas.
*Tipo*: Booleano  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso. Si esta propiedad se establece en, `true` entonces, se AWS SAM aprueba; de lo contrario`ENABLED`, se aprueba`DISABLED`.

 `Input`   <a name="sam-statemachine-statemachineschedule-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` propiedad de un `AWS::Events::Rule Target` recurso.

 `Name`   <a name="sam-statemachine-statemachineschedule-name"></a>
El nombre de la regla. Si no especificas un nombre, CloudFormation genera un identificador físico único y lo utiliza como nombre de la regla.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` propiedad de un `AWS::Events::Rule` recurso.

 `RetryPolicy`   <a name="sam-statemachine-statemachineschedule-retrypolicy"></a>
Objeto de la `RetryPolicy` que incluye información acerca de la configuración de la política de reintentos. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *  
*Tipo:* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` propiedad del tipo de datos. `AWS::Events::Rule` `Target`

 `RoleArn`   <a name="sam-statemachine-statemachineschedulev-rolearn"></a>
El ARN de la función de IAM que EventBridge Scheduler utilizará para el destino cuando se invoque la programación.  
*Tipo:* [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*Requerido*: no. Si no se proporciona, se creará y utilizará un nuevo rol.  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` propiedad del tipo de `AWS::Scheduler::Schedule` `Target` datos.

 `Schedule`   <a name="sam-statemachine-statemachineschedule-schedule"></a>
La expresión de programación que determina cuándo y con qué frecuencia se ejecuta la regla. Para obtener más información, consulta [Expresiones de programación para reglas](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html).  
*Tipo*: cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression)` propiedad de un `AWS::Events::Rule` recurso.

 `State`   <a name="sam-statemachine-statemachineschedule-state"></a>
El estado de la regla.  
*Valores aceptados* `DISABLED | ENABLED`:  
Especifique la propiedad `Enabled` o `State`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` propiedad de un `AWS::Events::Rule` recurso.

 `Target`   <a name="sam-statemachine-statemachineschedule-target"></a>
El AWS recurso que se EventBridge invoca cuando se activa una regla. Puedes utilizar esta propiedad para especificar el ID lógico del objetivo. Si no se especifica esta propiedad, AWS SAM genera el ID lógico del objetivo.  
*Tipo*: [destino](sam-property-statemachine-statemachinetarget.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` propiedad de un `AWS::Events::Rule` recurso. La AWS SAM versión de esta propiedad solo permite especificar el identificador lógico de un único destino.

## Ejemplos
<a name="sam-property-statemachine-statemachineschedule--examples"></a>

### CloudWatch Programe un evento
<a name="sam-property-statemachine-statemachineschedule--examples--cloudwatch-schedule-event"></a>

CloudWatch Ejemplo de programar un evento

#### YAML
<a name="sam-property-statemachine-statemachineschedule--examples--cloudwatch-schedule-event--yaml"></a>

```
CWSchedule:
  Type: Schedule
  Properties:
    Schedule: 'rate(1 minute)'
    Name: TestSchedule
    Description: test schedule
    Enabled: false
```

# DeadLetterConfig
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig"></a>

El objeto utilizado para especificar la cola del Amazon Simple Queue Service (Amazon SQS) desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una máquina de estado que no existe o cuando no hay permisos suficientes para invocar la máquina de estado. *Para obtener más información, consulta la [política de reintentos de eventos y el uso de colas con letra muerta en la Guía del usuario](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html) de Amazon. EventBridge *

## Sintaxis
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-statemachine-statemachinescheduledeadletterconfig-arn): String
  [QueueLogicalId](#sam-statemachine-statemachinescheduledeadletterconfig-queuelogicalid): String
  [Type](#sam-statemachine-statemachinescheduledeadletterconfig-type): String
```

## Propiedades
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-properties"></a>

 `Arn`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-arn"></a>
El nombre de recurso de Amazon (ARN) de la cola SQS de Amazon especificada como destino de la cola de mensajes fallidos.  
Especifique la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` propiedad del tipo de `AWS::Events::Rule` `DeadLetterConfig` datos.

 `QueueLogicalId`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-queuelogicalid"></a>
`Type`Se especifica el nombre personalizado de la cola de cartas muertas que la AWS SAM crea.  
Si no se especifica la propiedad `Type`, entonces esta propiedad se pasa por alto.
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `Type`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-type"></a>
Tipo de cola. Cuando se establece esta propiedad, crea AWS SAM automáticamente una cola sin efecto y adjunta la [política basada en los recursos](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) necesaria para conceder permiso al recurso de regla para enviar eventos a la cola.  
Especifica la propiedad `Type` o la propiedad `Arn`, pero no ambas.
*Valores válidos*: `SQS`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es exclusiva y no tiene un equivalente. AWS SAM CloudFormation 

## Ejemplos
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-statemachine-statemachinescheduletarget"></a>

Configura el AWS recurso que se EventBridge invoca cuando se activa una regla.

## Sintaxis
<a name="sam-property-statemachine-statemachinescheduletarget-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinescheduletarget-syntax.yaml"></a>

```
  [Id](#sam-statemachine-statemachinescheduletarget-id): String
```

## Propiedades
<a name="sam-property-statemachine-statemachinescheduletarget-properties"></a>

 `Id`   <a name="sam-statemachine-statemachinescheduletarget-id"></a>
El ID lógico del destino.  
El valor de `Id` puede contener caracteres alfanuméricos, puntos (`.`), guiones (`-`) y guiones bajos (`_`).  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` propiedad del tipo de `AWS::Events::Rule` `Target` datos.

## Ejemplos
<a name="sam-property-statemachine-statemachinescheduletarget--examples"></a>

### Target
<a name="sam-property-statemachine-statemachinescheduletarget--examples--target"></a>

#### YAML
<a name="sam-property-statemachine-statemachinescheduletarget--examples--target--yaml"></a>

```
EBRule:
  Type: Schedule
  Properties:
    Target:
      Id: MyTarget
```

# ScheduleV2
<a name="sam-property-statemachine-statemachineschedulev2"></a>

El objeto que describe un tipo de fuente de `ScheduleV2` eventos, que establece su máquina de estados como el objetivo de un evento de Amazon EventBridge Scheduler que se desencadena de forma programada. Para obtener más información, consulte [¿Qué es Amazon EventBridge Scheduler?](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html) en la Guía del *usuario de EventBridge Scheduler*.

AWS Serverless Application Model (AWS SAM) genera un [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html)recurso cuando se establece este tipo de evento.

## Sintaxis
<a name="sam-property-statemachine-statemachineschedulev2-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineschedulev2-syntax.yaml"></a>

```
DeadLetterConfig: DeadLetterConfig
[Description](#sam-statemachine-statemachineschedulev2-description): String
[EndDate](#sam-statemachine-statemachineschedulev2-enddate): String
[FlexibleTimeWindow](#sam-statemachine-statemachineschedulev2-flexibletimewindow): FlexibleTimeWindow
[GroupName](#sam-statemachine-statemachineschedulev2-groupname): String
[Input](#sam-statemachine-statemachineschedulev2-input): String
[KmsKeyArn](#sam-statemachine-statemachineschedulev2-kmskeyarn): String
[Name](#sam-statemachine-statemachineschedulev2-name): String
OmitName: Boolean
[PermissionsBoundary](#sam-statemachine-statemachineschedulev2-permissionsboundary): String
[RetryPolicy](#sam-statemachine-statemachineschedulev2-retrypolicy): RetryPolicy
[RoleArn](#sam-statemachine-statemachineschedulev2-rolearn): String
[ScheduleExpression](#sam-statemachine-statemachineschedulev2-scheduleexpression): String
[ScheduleExpressionTimezone](#sam-statemachine-statemachineschedulev2-scheduleexpressiontimezone): String
[StartDate](#sam-statemachine-statemachineschedulev2-startdate): String
[State](#sam-statemachine-statemachineschedulev2-state): String
```

## Propiedades
<a name="sam-property-statemachine-statemachineschedulev2-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineschedulev2-deadletterconfig"></a>
Configure la cola del Amazon Simple Queue Service (Amazon SQS), desde la que EventBridge se envían los eventos tras una invocación de destino fallida. La invocación puede fallar, por ejemplo, cuando se envía un evento a una función de Lambda que no existe o EventBridge cuando no hay permisos suficientes para invocar la función de Lambda. *Para obtener más información, consulte [Configurar una cola de letra muerta para Scheduler en la Guía del usuario de Scheduler EventBridge ](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html). EventBridge *  
*Tipo:* [DeadLetterConfig](sam-property-statemachine-statemachinescheduledeadletterconfig.md)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad es similar a la `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig)` propiedad del tipo de datos. `AWS::Scheduler::Schedule` `Target` La AWS SAM versión de esta propiedad incluye subpropiedades adicionales, por si AWS SAM quiere crear automáticamente una cola de texto sin procesar.

 `Description`   <a name="sam-statemachine-statemachineschedulev2-description"></a>
Una descripción del programa.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-description)` propiedad de un recurso. `AWS::Scheduler::Schedule`

 `EndDate`   <a name="sam-statemachine-statemachineschedulev2-enddate"></a>
La fecha, en UTC, antes de la cual la programación puede invocar su destino. Según la expresión de recurrencia de la programación, las invocaciones se pueden detener en la **EndDate** que especifica o antes de ella.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[EndDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `FlexibleTimeWindow`   <a name="sam-statemachine-statemachineschedulev2-flexibletimewindow"></a>
Permite configurar una ventana en la cual se puede invocar una programación.  
*Tipo:* [FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler.html#cfn-scheduler-schedule-flexibletimewindow)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `GroupName`   <a name="sam-statemachine-statemachineschedulev2-groupname"></a>
El nombre de grupo de programación asociado a esta programación. Si no está definido, se utiliza el grupo predeterminado.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[GroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `Input`   <a name="sam-statemachine-statemachineschedulev2-input"></a>
Texto JSON válido transmitido al destino. Si utiliza esta propiedad, no se transmitirá nada del propio texto del evento al destino.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input)` propiedad de un `AWS::Scheduler::Schedule Target` recurso.

 `KmsKeyArn`   <a name="sam-statemachine-statemachineschedulev2-kmskeyarn"></a>
El ARN de una clave de KMS que se utiliza para cifrar datos personalizados.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `Name`   <a name="sam-statemachine-statemachineschedulev2-name"></a>
El nombre de la programación. Si no especifica un nombre, AWS SAM genera un nombre en el formato `StateMachine-Logical-IDEvent-Source-Name` y usa ese ID como nombre del programa.  
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name)` propiedad de un `AWS::Scheduler::Schedule` recurso.

`OmitName`  <a name="sam-statemachine-statemachineschedulev2-omitname"></a>
De forma predeterminada, AWS SAM genera y usa un nombre de programación con el formato de*<State-machine-logical-ID><event-source-name>*. Establezca esta propiedad `true` para CloudFormation generar un identificador físico único y utilícelo en su lugar para el nombre del programa.  
*Tipo*: Booleano  
*Obligatorio*: no  
*Valor predeterminado*: `false`  
*CloudFormation compatibilidad*: esta propiedad es exclusiva de AWS SAM y no tiene un CloudFormation equivalente.

 `PermissionsBoundary`   <a name="sam-statemachine-statemachineschedulev2-permissionsboundary"></a>
El ARN de la política que se utilizará para definir el límite de los permisos para el rol.  
Si `PermissionsBoundary` está definido, AWS SAM aplicará los mismos límites a la función de IAM objetivo del programador.
*Tipo:* cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere 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.

 `RetryPolicy`   <a name="sam-statemachine-statemachineschedulev2-retrypolicy"></a>
Objeto de la `RetryPolicy` que incluye información acerca de la configuración de la política de reintentos.  
*Tipo:* [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)` propiedad del tipo de `AWS::Scheduler::Schedule` `Target` datos.

 `RoleArn`   <a name="sam-statemachine-statemachineschedulev2-rolearn"></a>
El ARN de la función de IAM que EventBridge Scheduler utilizará para el destino cuando se invoque la programación.  
*Tipo:* [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se transfiere directamente a la `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` propiedad del tipo de `AWS::Scheduler::Schedule` `Target` datos.

 `ScheduleExpression`   <a name="sam-statemachine-statemachineschedulev2-scheduleexpression"></a>
La expresión de programación que determina cuándo y con qué frecuencia se ejecuta la programación.  
*Tipo:* cadena  
*Obligatorio*: sí  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `ScheduleExpressionTimezone`   <a name="sam-statemachine-statemachineschedulev2-scheduleexpressiontimezone"></a>
La zona horaria en la que se evalúa la expresión de programación.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[ScheduleExpressionTimezone](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `StartDate`   <a name="sam-statemachine-statemachineschedulev2-startdate"></a>
La fecha, en UTC, después de la cual la programación puede invocar un objetivo. Según la expresión de recurrencia de la programación, las invocaciones se pueden realizar en la **StartDate** que especifica o después de ella.  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[StartDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate)` propiedad de un `AWS::Scheduler::Schedule` recurso.

 `State`   <a name="sam-statemachine-statemachineschedulev2-state"></a>
Estado del programa.  
*Valores aceptados*: `DISABLED | ENABLED`  
*Tipo*: cadena  
*Obligatorio*: no  
*CloudFormation compatibilidad*: esta propiedad se pasa directamente a la `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state)` propiedad de un `AWS::Scheduler::Schedule` recurso.

## Ejemplos
<a name="sam-property-statemachine-statemachineschedulev2--examples"></a>

### Ejemplo básico de definición de un recurso de ScheduleV2
<a name="sam-property-statemachine-statemachineschedulev2--examples--example1"></a>

```
StateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    Name: MyStateMachine
    Events:
      ScheduleEvent:
        Type: ScheduleV2
        Properties:
          ScheduleExpression: "rate(1 minute)"
      ComplexScheduleEvent:
        Type: ScheduleV2
        Properties:
          ScheduleExpression: rate(1 minute)
          FlexibleTimeWindow:
            Mode: FLEXIBLE
            MaximumWindowInMinutes: 5
          StartDate: '2022-12-28T12:00:00.000Z'
          EndDate: '2023-01-28T12:00:00.000Z'
          ScheduleExpressionTimezone: UTC
          RetryPolicy:
            MaximumRetryAttempts: 5
            MaximumEventAgeInSeconds: 300
          DeadLetterConfig:
            Type: SQS
    DefinitionUri:
      Bucket: sam-sam-s3-demo-bucket
      Key: my-state-machine.asl.json
      Version: 3
    Policies:
      - LambdaInvokePolicy:
          FunctionName: !Ref MyFunction
```

# CloudFormation Recursos generados para AWS SAM
<a name="sam-specification-generated-resources"></a>

En esta sección se proporcionan detalles sobre los CloudFormation recursos que se crean al AWS SAM procesar la AWS plantilla. El conjunto de CloudFormation recursos que se AWS SAM genera varía según los escenarios que especifique. Un *escenario* es la combinación de recursos y propiedades de AWS SAM especificada en el archivo de plantilla. Puede hacer referencia a los recursos de CloudFormation generados en otros lugares del archivo de plantilla, de forma similar a como hace referencia a los recursos que declara explícitamente en el archivo de plantilla.

Por ejemplo, si especifica un recurso de `AWS::Serverless::Function` en el archivo de plantillas de AWS SAM , AWS SAM siempre generará un recurso base `AWS::Lambda::Function`. Si también especifica la `AutoPublishAlias` propiedad opcional, generará `AWS::Lambda::Alias` `AWS::Lambda::Version` recursos AWS SAM adicionales.

En esta sección se enumeran los escenarios y los CloudFormation recursos que generan, y se muestra cómo hacer referencia a CloudFormation los recursos generados en el archivo de AWS SAM plantilla.

## Hacer referencia a los recursos generados CloudFormation
<a name="sam-specification-generated-resources-referencing"></a>

Tiene dos opciones para hacer referencia a CloudFormation los recursos generados en su archivo de AWS SAM plantilla: por propiedad referenciable `LogicalId` o por propiedad referenciable.

### Hacer referencia a los recursos generados mediante CloudFormation LogicalId
<a name="sam-specification-generated-resources-referencing-logicalid"></a>

Cada uno de los CloudFormation recursos que AWS SAM genera tiene un `[LogicalId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid)` identificador alfanumérico (A-Z, a-z, 0-9) único en un archivo de plantilla. AWS SAM utiliza los AWS SAM recursos `LogicalIds` del archivo de plantilla para construir los recursos que `LogicalIds` genera. CloudFormation Puede usar el `LogicalId` CloudFormation recurso generado para acceder a las propiedades de ese recurso dentro de su archivo de plantilla, del mismo modo que lo haría con un CloudFormation recurso que haya declarado explícitamente. Para obtener más información sobre `LogicalIds` las AWS SAM plantillas CloudFormation y las plantillas, consulte [los recursos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) en la *Guía del AWS CloudFormation usuario*.

**nota**  
Algunos `LogicalIds` de los recursos generados incluyen un valor hash único para evitar conflictos con los espacios de los nombres. Los `LogicalIds` de estos recursos se obtienen cuando se crea la pila. Puede recuperarlos solo después de haber creado la pila con Consola de administración de AWS, AWS CLI, o una de las AWS SDKs. No recomendamos referenciar estos recursos con `LogicalId` porque los valores hash pueden cambiar.

### Hacer referencia a CloudFormation los recursos generados mediante una propiedad referenciable
<a name="sam-specification-generated-resources-referencing-referenceable-property"></a>

Para algunos recursos generados, AWS SAM proporciona una propiedad referenciable del recurso. AWS SAM Puede utilizar esta propiedad para hacer referencia a un CloudFormation recurso generado y a sus propiedades en el archivo de AWS SAM plantilla.

**nota**  
No todos los CloudFormation recursos generados tienen propiedades a las que se puede hacer referencia. Para dichos recursos, debe utilizar los `LogicalId`.

## Escenarios de recursos generados CloudFormation
<a name="sam-specification-generated-resources-scenarios"></a>

En la siguiente tabla se resumen los AWS SAM recursos y las propiedades que componen los escenarios que generan CloudFormation recursos. Los temas de la columna **Escenarios** proporcionan detalles sobre los CloudFormation recursos adicionales que se AWS SAM generan para ese escenario.


| AWS SAM recurso |  CloudFormation Recurso base | Escenarios | 
| --- | --- | --- | 
| AWS::Serverless::Api  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Application  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::CapacityProvider  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Function | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::HttpApi | [AWS::ApiGatewayV2::Api](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::LayerVersion  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::SimpleTable  | [AWS::DynamoDB::Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::StateMachine  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 

**Topics**
+ [Hacer referencia a los recursos generados CloudFormation](#sam-specification-generated-resources-referencing)
+ [Escenarios de recursos generados CloudFormation](#sam-specification-generated-resources-scenarios)
+ [CloudFormation recursos generados cuando AWS::Serverless::Api se especifica](sam-specification-generated-resources-api.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::Application se especifica](sam-specification-generated-resources-application.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::CapacityProvider se especifica](sam-specification-generated-resources-capacityprovider.md)
+ [CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector](sam-specification-generated-resources-connector.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::Function se especifica](sam-specification-generated-resources-function.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::GraphQLApi se especifica](sam-specification-generated-resources-graphqlapi.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::HttpApi se especifica](sam-specification-generated-resources-httpapi.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::LayerVersion se especifica](sam-specification-generated-resources-layerversion.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::SimpleTable se especifica](sam-specification-generated-resources-simpletable.md)
+ [CloudFormation recursos generados cuando AWS::Serverless::StateMachine se especifica](sam-specification-generated-resources-statemachine.md)

# CloudFormation recursos generados cuando AWS::Serverless::Api se especifica
<a name="sam-specification-generated-resources-api"></a>

Cuando `AWS::Serverless::Api` se especifica un, AWS Serverless Application Model (AWS SAM) siempre genera un CloudFormation recurso `AWS::ApiGateway::RestApi` base. Además, siempre genera un recurso `AWS::ApiGateway::Stage` y un recurso `AWS::ApiGateway::Deployment`.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`<api‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

**`AWS::ApiGateway::Stage`**  
*`LogicalId`: *`<api‑LogicalId><stage‑name>Stage`  
`<stage‑name>` es la cadena en la que está establecida la propiedad `StageName`. Por ejemplo, si establece `StageName` como `Gamma`, entonces `LogicalId` es `MyRestApiGammaStage`.  
*Propiedad referenciable: * `<api‑LogicalId>.Stage`

**`AWS::ApiGateway::Deployment`**  
*`LogicalId`: *`<api‑LogicalId>Deployment<sha>`  
`<sha>` es un valor hash único que se genera cuando se crea la pila. Por ejemplo, `MyRestApiDeployment926eeb5ff1`.  
*Propiedad referenciable: *`<api‑LogicalId>.Deployment`

Además de estos CloudFormation recursos, cuando `AWS::Serverless::Api` se especifica, AWS SAM genera CloudFormation recursos adicionales para los siguientes escenarios.

**Topics**
+ [DomainName se especifica la propiedad](#sam-specification-generated-resources-api-domain-name)
+ [UsagePlan se especifica la propiedad](#sam-specification-generated-resources-api-usage-plan)

## DomainName se especifica la propiedad
<a name="sam-specification-generated-resources-api-domain-name"></a>

Cuando se especifica la `DomainName` `Domain` propiedad de `AWS::Serverless::Api` una, AWS SAM genera el `AWS::ApiGateway::DomainName` CloudFormation recurso.

**`AWS::ApiGateway::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainName<sha>`  
`<sha>` es un valor hash único que se genera cuando se crea la pila. Por ejemplo: `ApiGatewayDomainName926eeb5ff1`.  
*Propiedad referenciable: *`<api‑LogicalId>.DomainName`

## UsagePlan se especifica la propiedad
<a name="sam-specification-generated-resources-api-usage-plan"></a>

Cuando se especifica la `Auth` propiedad de `AWS::Serverless::Api` una, AWS SAM genera los siguientes CloudFormation recursos: `AWS::ApiGateway::UsagePlan``AWS::ApiGateway::UsagePlanKey`, y`AWS::ApiGateway::ApiKey`. `UsagePlan`

**`AWS::ApiGateway::UsagePlan`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlan`  
*Propiedad referenciable: *`<api‑LogicalId>.UsagePlan`

**`AWS::ApiGateway::UsagePlanKey`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlanKey`  
*Propiedad referenciable: *`<api‑LogicalId>.UsagePlanKey`

**`AWS::ApiGateway::ApiKey`**  
*`LogicalId`: *`<api‑LogicalId>ApiKey`  
*Propiedad referenciable: *`<api‑LogicalId>.ApiKey`

# CloudFormation recursos generados cuando AWS::Serverless::Application se especifica
<a name="sam-specification-generated-resources-application"></a>

Cuando `AWS::Serverless::Application` se especifica un, AWS Serverless Application Model (AWS SAM) genera un CloudFormation recurso `AWS::CloudFormation::Stack` base.

**`AWS::CloudFormation::Stack`**  
*`LogicalId`: *`<application‑LogicalId>`   
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

# CloudFormation recursos generados cuando AWS::Serverless::CapacityProvider se especifica
<a name="sam-specification-generated-resources-capacityprovider"></a>

Cuando se especifica `AWS::Serverless::CapacityProvider`, AWS Serverless Application Model (AWS SAM) genera un recurso `AWS::Lambda::CapacityProvider` de base CloudFormation .

**`AWS::Lambda::CapacityProvider`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Además de este CloudFormation recurso, cuando `AWS::Serverless::CapacityProvider` se especifica, AWS SAM también genera CloudFormation recursos para los siguientes escenarios:

**Topics**
+ [OperatorRole la propiedad no está especificada](#sam-specification-generated-resources-capacityprovider-iam-role)

## OperatorRole la propiedad no está especificada
<a name="sam-specification-generated-resources-capacityprovider-iam-role"></a>

Cuando *no `AWS::Serverless::CapacityProvider`* se especifica la `OperatorRole` propiedad de un, AWS SAM genera un `AWS::IAM::Role` CloudFormation recurso con la política `AWSLambdaManagedEC2ResourceOperator` administrada adjunta.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>OperatorRole`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

# CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector
<a name="sam-specification-generated-resources-connector"></a>

**nota**  
Al definir los conectores a través de la propiedad `Connectors` incrustada, primero se transforma en un recurso `AWS::Serverless::Connector` antes de generar estos recursos.

Al especificar un `AWS::Serverless::Connector` recurso en una AWS SAM plantilla, AWS SAM genera los siguientes AWS CloudFormation recursos según sea necesario.

**`AWS::IAM::ManagedPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>Policy`   
 *Propiedad referenciable:* N/A (Para hacer referencia a este CloudFormation recurso, debe usar la`LogicalId`.) 

**`AWS::SNS::TopicPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>TopicPolicy`   
 *Propiedad referenciable:* N/A (Para hacer referencia a este CloudFormation recurso, debe usar la.) `LogicalId` 

**`AWS::SQS::QueuePolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>QueuePolicy`   
 *Propiedad referenciable:* N/A (Para hacer referencia a este CloudFormation recurso, debe usar la.) `LogicalId` 

**`AWS::Lambda::Permission`**  
 *`LogicalId`:*`<connector‑LogicalId><permission>LambdaPermission`   
 `<permission>` es un permiso especificado por la propiedad `Permissions`. Por ejemplo, `Write`.   
*Propiedad referenciable:* N/A (Para hacer referencia a este CloudFormation recurso, debe usar la.) `LogicalId` 

# CloudFormation recursos generados cuando AWS::Serverless::Function se especifica
<a name="sam-specification-generated-resources-function"></a>

Cuando `AWS::Serverless::Function` se especifica un, AWS Serverless Application Model (AWS SAM) siempre crea un CloudFormation recurso `AWS::Lambda::Function` base.

**`AWS::Lambda::Function`**  
*`LogicalId`: *`<function‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Además de este CloudFormation recurso, cuando `AWS::Serverless::Function` se especifica, AWS SAM también genera CloudFormation recursos para los siguientes escenarios.

**Topics**
+ [Propiedades de funciones principales](#sam-specification-generated-resources-function-core-properties)
+ [Orígenes de eventos](#sam-specification-generated-resources-function-event-sources)
+ [Configuración de eventos](#sam-specification-generated-resources-function-event-configuration)

## Propiedades de funciones principales
<a name="sam-specification-generated-resources-function-core-properties"></a>

Los siguientes escenarios generan CloudFormation recursos en función de las propiedades de las funciones principales:

### La propiedad del rol no está especificada
<a name="sam-specification-generated-resources-function-not-role"></a>

Cuando *no `AWS::Serverless::Function`* se especifica la `Role` propiedad de un, AWS SAM genera un `AWS::IAM::Role` CloudFormation recurso.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<function‑LogicalId>Role`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### AutoPublishAlias se especifica la propiedad
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

Cuando `AWS::Serverless::Function` se especifica la `AutoPublishAlias` propiedad de un, AWS SAM genera los siguientes CloudFormation recursos: `AWS::Lambda::Alias` y`AWS::Lambda::Version`.

**`AWS::Lambda::Alias`**  
*`LogicalId`: *`<function‑LogicalId>Alias<alias‑name>`  
`<alias‑name>` es la cadena que se establece en `AutoPublishAlias`. Por ejemplo, si se establece `AutoPublishAlias` en`live`, el `LogicalId` es: *MyFunction* Alias*live*.  
*Propiedad referenciable: *`<function‑LogicalId>.Alias`

**`AWS::Lambda::Version`**  
*`LogicalId`: *`<function‑LogicalId>Version<sha>`  
`<sha>` es un valor hash único que se genera cuando se crea la pila. Por ejemplo, *MyFunction* Version*926eeb5ff1*.  
*Propiedad referenciable: *`<function‑LogicalId>.Version`

Para obtener información adicional sobre la `AutoPublishAlias` propiedad, consulte la [sección Propiedades de AWS::Serverless::Function](sam-resource-function.md#sam-resource-function-properties).

### DeploymentPreference se especifica la propiedad
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

Cuando `AWS::Serverless::Function` se especifica la `DeploymentPreference` propiedad de un, AWS SAM genera los siguientes CloudFormation recursos: `AWS::CodeDeploy::Application` y`AWS::CodeDeploy::DeploymentGroup`. Además, si *no* se especifica la `Role` propiedad del `DeploymentPreference` objeto, AWS SAM también genera un `AWS::IAM::Role` CloudFormation recurso.

**`AWS::CodeDeploy::Application`**  
*`LogicalId`: *`ServerlessDeploymentApplication`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

**`AWS::CodeDeploy::DeploymentGroup`**  
*`LogicalId`: *`<function‑LogicalId>DeploymentGroup`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::IAM::Role`**  
*`LogicalId`: *`CodeDeployServiceRole`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

### FunctionUrlConfig se especifica la propiedad
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

Cuando se especifica la `FunctionUrlConfig` propiedad, AWS SAM genera diferentes CloudFormation recursos en función de`AuthType`.

Cuando `AuthType: NONE` se especifica, AWS SAM genera los siguientes CloudFormation recursos:

**`AWS::Lambda::Permission` (Invocar acceso)**  
*`LogicalId`: *`<function‑LogicalId>URLInvokeAllowPublicAccess`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

**`AWS::Lambda::Permission` (Acceso público)**  
*`LogicalId`: *`<function‑LogicalId>UrlPublicPermissions`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

Cuando `AuthType: AWS_IAM` se especifica, solo AWS SAM genera:

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Para obtener información adicional sobre la `FunctionUrlConfig` propiedad, consulte. [FunctionUrlConfig](sam-property-function-functionurlconfig.md)

## Orígenes de eventos
<a name="sam-specification-generated-resources-function-event-sources"></a>

Los siguientes escenarios generan CloudFormation recursos en función de las fuentes de eventos:

### Se ha especificado una fuente de eventos de API
<a name="sam-specification-generated-resources-function-api"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en`Api`, pero *no* se especifica, se AWS SAM genera el `AWS::ApiGateway::RestApi` CloudFormation recurso. `RestApiId`

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una fuente de HttpApi eventos
<a name="sam-specification-generated-resources-function-httpapi"></a>

Cuando la `Event` propiedad de un `AWS::Serverless::Function` se establece en`HttpApi`, pero *no* se especifica, AWS SAM genera el `AWS::ApiGatewayV2::Api` CloudFormation recurso. `ApiId`

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`ServerlessHttpApi`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una origen de eventos de transmisión
<a name="sam-specification-generated-resources-function-streaming"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en uno de los tipos de transmisión, AWS SAM genera el `AWS::Lambda::EventSourceMapping` CloudFormation recurso. Esto se aplica a los siguientes tipos: `DynamoDB`, `Kinesis`, `MQ`, `MSK` y `SQS`.

**`AWS::Lambda::EventSourceMapping`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una origen de eventos de puente de eventos (o bus de eventos)
<a name="sam-specification-generated-resources-function-eventbridge"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en uno de los tipos de puente de eventos (o bus de eventos), AWS SAM genera el `AWS::Events::Rule` CloudFormation recurso. Esto se aplica a los siguientes tipos: `EventBridgeRule`, `Schedule`, y`CloudWatchEvents`.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una fuente de IotRule eventos
<a name="sam-specification-generated-resources-function-iotrule"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en IoTRule, AWS SAM genera el `AWS::IoT::TopicRule` CloudFormation recurso.

**`AWS::IoT::TopicRule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

## Configuración de eventos
<a name="sam-specification-generated-resources-function-event-configuration"></a>

Los siguientes escenarios generan CloudFormation recursos en función de la configuración del evento:

### OnSuccess (o OnFailure) la propiedad está especificada para los eventos de Amazon SNS
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

Cuando se especifica la `OnSuccess` (o`OnFailure`) `DestinationConfig` propiedad de la `EventInvokeConfig` propiedad de un `AWS::Serverless::Function` y el tipo de destino es `SNS` pero *no* se especifica el ARN de destino, AWS SAM genera los siguientes CloudFormation recursos: `AWS::Lambda::EventInvokeConfig` y. `AWS::SNS::Topic`

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este recurso) CloudFormation 

**`AWS::SNS::Topic`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessTopic` (o `<function‑LogicalId>OnFailureTopic`)  
*Propiedad referenciable: *`<function‑LogicalId>.DestinationTopic`  
Si ambos `OnSuccess` y `OnFailure` se especifican para un evento de Amazon SNS, para distinguir entre los recursos generados, debe usar el `LogicalId`.

### OnSuccess (o OnFailure) la propiedad está especificada para los eventos de Amazon SQS
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

Cuando se especifica la `OnSuccess` (o`OnFailure`) `DestinationConfig` propiedad de la `EventInvokeConfig` propiedad de un `AWS::Serverless::Function` y el tipo de destino es `SQS` pero *no* se especifica el ARN de destino, AWS SAM genera los siguientes CloudFormation recursos: `AWS::Lambda::EventInvokeConfig` y. `AWS::SQS::Queue`

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este recurso) CloudFormation 

**`AWS::SQS::Queue`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessQueue` (o `<function‑LogicalId>OnFailureQueue`)  
*Propiedad referenciable: *`<function‑LogicalId>.DestinationQueue`  
Si ambos `OnSuccess` y `OnFailure` se especifican para un evento de Amazon SQS, para distinguir entre los recursos generados, debe utilizar el `LogicalId`.

# CloudFormation recursos generados cuando AWS::Serverless::GraphQLApi se especifica
<a name="sam-specification-generated-resources-graphqlapi"></a>

Cuando especificas un `AWS::Serverless::GraphQLApi` recurso en una plantilla AWS Serverless Application Model (AWS SAM), AWS SAM siempre crea los siguientes AWS CloudFormation recursos base.

**`AWS::AppSync::DataSource`**  
*`LogicalId`: *`<graphqlapi-LogicalId><datasource-RelativeId><datasource-Type>DataSource`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

**`AWS::AppSync::FunctionConfiguration`**  
*`LogicalId`: *`<graphqlapi-LogicalId><function-RelativeId>`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::AppSync::GraphQLApi`**  
*`LogicalId`: *`<graphqlapi-LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::AppSync::GraphQLSchema`**  
*`LogicalId`: *`<graphqlapi-LogicalId>Schema`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::AppSync::Resolver`**  
*`LogicalId`: *`<graphqlapi-LogicalId><OperationType><resolver-RelativeId>`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

Además de estos CloudFormation recursos, cuando se especifique, también `AWS::Serverless::GraphQLApi` se AWS SAM pueden generar los siguientes CloudFormation recursos.

`AWS::AppSync::ApiCache`  
*`LogicalId`: *`<graphqlapi-LogicalId>ApiCache`  
*Propiedad referenciable:* N/A (debe utilizar la `LogicalId` para hacer referencia a este CloudFormation recurso)

`AWS::AppSync::ApiKey`  
*`LogicalId`: *`<graphqlapi-LogicalId><apikey-RelativeId>`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

`AWS::AppSync::DomainName`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainName`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

`AWS::AppSync::DomainNameApiAssociation`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainNameApiAssociation`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

AWS SAM también puede usar el `AWS::Serverless::Connector` recurso para conceder permisos. Para obtener más información, consulte [CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).

# CloudFormation recursos generados cuando AWS::Serverless::HttpApi se especifica
<a name="sam-specification-generated-resources-httpapi"></a>

Cuando `AWS::Serverless::HttpApi` se especifica un, AWS Serverless Application Model (AWS SAM) genera un CloudFormation recurso `AWS::ApiGatewayV2::Api` base.

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`<httpapi‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Además de este CloudFormation recurso, cuando `AWS::Serverless::HttpApi` se especifica, AWS SAM también genera CloudFormation recursos para los siguientes escenarios:

**Topics**
+ [StageName se especifica la propiedad](#sam-specification-generated-resources-httpapi-stage-name)
+ [StageName la propiedad *no* está especificada](#sam-specification-generated-resources-httpapi-not-stage-name)
+ [DomainName se especifica la propiedad](#sam-specification-generated-resources-httpapi-domain-name)

## StageName se especifica la propiedad
<a name="sam-specification-generated-resources-httpapi-stage-name"></a>

Cuando `AWS::Serverless::HttpApi` se especifica la `StageName` propiedad de un, AWS SAM genera el `AWS::ApiGatewayV2::Stage` CloudFormation recurso.

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId><stage‑name>Stage`  
`<stage‑name>` es la cadena en la que está establecida la propiedad `StageName`. Por ejemplo, si se establece `StageName` en`Gamma`, el `LogicalId` es: *MyHttpApiGamma* Stage.  
*Propiedad referenciable: *`<httpapi‑LogicalId>.Stage`

## StageName la propiedad *no* está especificada
<a name="sam-specification-generated-resources-httpapi-not-stage-name"></a>

Cuando *no `AWS::Serverless::HttpApi`* se especifica la `StageName` propiedad de un, AWS SAM genera el `AWS::ApiGatewayV2::Stage` CloudFormation recurso.

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId>ApiGatewayDefaultStage`  
*Propiedad referenciable: *`<httpapi‑LogicalId>.Stage`

## DomainName se especifica la propiedad
<a name="sam-specification-generated-resources-httpapi-domain-name"></a>

Cuando se especifica la `DomainName` `Domain` propiedad de `AWS::Serverless::HttpApi` una, AWS SAM genera el `AWS::ApiGatewayV2::DomainName` CloudFormation recurso.

**`AWS::ApiGatewayV2::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainNameV2<sha>`  
`<sha>` es un valor hash único que se genera cuando se crea la pila. Por ejemplo, `ApiGatewayDomainNameV2`*926eeb5ff1*.  
*Propiedad referenciable: *`<httpapi‑LogicalId>.DomainName`

# CloudFormation recursos generados cuando AWS::Serverless::LayerVersion se especifica
<a name="sam-specification-generated-resources-layerversion"></a>

Cuando `AWS::Serverless::LayerVersion` se especifica un, AWS Serverless Application Model (AWS SAM) genera un CloudFormation recurso `AWS::Lambda::LayerVersion` base.

**`AWS::Lambda::LayerVersion`**  
*`LogicalId`: *`<layerversion‑LogicalId>`   
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

# CloudFormation recursos generados cuando AWS::Serverless::SimpleTable se especifica
<a name="sam-specification-generated-resources-simpletable"></a>

Cuando `AWS::Serverless::SimpleTable` se especifica un, AWS Serverless Application Model (AWS SAM) genera un CloudFormation recurso `AWS::DynamoDB::Table` base.

**`AWS::DynamoDB::Table`**  
*`LogicalId`: *`<simpletable‑LogicalId>`   
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

# CloudFormation recursos generados cuando AWS::Serverless::StateMachine se especifica
<a name="sam-specification-generated-resources-statemachine"></a>

Cuando se especifica `AWS::Serverless::StateMachine`, AWS Serverless Application Model (AWS SAM) genera un recurso `AWS::StepFunctions::StateMachine` de base CloudFormation .

**`AWS::StepFunctions::StateMachine`**  
*`LogicalId`: *`<statemachine‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Además de este CloudFormation recurso, cuando `AWS::Serverless::StateMachine` se especifica, AWS SAM también genera CloudFormation recursos para los siguientes escenarios:

**Topics**
+ [La propiedad del rol no está especificada](#sam-specification-generated-resources-statemachine-not-role)
+ [Se ha especificado un origen de eventos de API](#sam-specification-generated-resources-statemachine-api)
+ [Se ha especificado una origen de eventos de puente de eventos (o bus de eventos)](#sam-specification-generated-resources-statemachine-eventbridge)

## La propiedad del rol no está especificada
<a name="sam-specification-generated-resources-statemachine-not-role"></a>

Cuando *no `AWS::Serverless::StateMachine`* se especifica la `Role` propiedad de un, AWS SAM genera un `AWS::IAM::Role` CloudFormation recurso.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<statemachine‑LogicalId>Role`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

## Se ha especificado un origen de eventos de API
<a name="sam-specification-generated-resources-statemachine-api"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::StateMachine` se establece en`Api`, pero *no* se especifica, se AWS SAM genera el `AWS::ApiGateway::RestApi` CloudFormation recurso. `RestApiId`

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

## Se ha especificado una origen de eventos de puente de eventos (o bus de eventos)
<a name="sam-specification-generated-resources-statemachine-eventbridge"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::StateMachine` se establece en uno de los tipos de puente de eventos (o bus de eventos), AWS SAM genera el `AWS::Events::Rule` CloudFormation recurso. Esto se aplica a los siguientes tipos: `EventBridgeRule`, `Schedule`, y`CloudWatchEvents`.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<statemachine‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

# Atributos de recursos compatibles con AWS SAM
<a name="sam-specification-resource-attributes"></a>

Los atributos de los recursos son atributos que se pueden añadir AWS SAM y CloudFormation recursos para controlar otros comportamientos y relaciones. Para obtener más información sobre los atributos de los recursos, consulta la [Referencia a los atributos de los recursos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-product-attribute-reference.html) en la *Guía del usuario de AWS CloudFormation *.

AWS SAM admiten un subconjunto de atributos de recursos definidos por CloudFormation. De los atributos de recursos admitidos, algunos se copian únicamente en el CloudFormation recurso generado base del AWS SAM recurso correspondiente y otros se copian en todos los CloudFormation recursos generados como resultado del AWS SAM recurso correspondiente. Para obtener más información sobre CloudFormation los recursos generados a partir de AWS SAM los recursos correspondientes, consulte[CloudFormation Recursos generados para AWS SAM](sam-specification-generated-resources.md).

En la siguiente tabla se resume la compatibilidad de los atributos de los recursos según AWS SAM lo que se indica a [Excepciones](#sam-specification-resource-attributes-exceptions) continuación.


| Atributos de recursos | Recurso(s) generado(s) por el destino | 
| --- | --- | 
|  ** [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) ** ** [Metadatos](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) **1, 2  |  Únicamente el recurso CloudFormation generado por la base. Para obtener información sobre el mapeo entre AWS SAM los recursos y CloudFormation los recursos base, consulte[Escenarios de recursos generados CloudFormation](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios).  | 
| ** [Condition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) ** ** [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) ** ** [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) **  |  Todos los CloudFormation recursos generados a partir del AWS SAM recurso correspondiente. Para obtener información sobre los escenarios de CloudFormation los recursos generados, consulte[Escenarios de recursos generados CloudFormation](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios).  | 

**Notas:**

1. Para obtener más información sobre el uso del atributo de recurso de `Metadata` con el tipo de recurso `AWS::Serverless::Function`, consulta [Creación de funciones Lambda con tiempos de ejecución personalizados en AWS SAM](building-custom-runtimes.md).

1. Para obtener más información sobre el uso del atributo de recurso de `Metadata` con el tipo de recurso `AWS::Serverless::LayerVersion`, consulta [Creación de capas Lambda en AWS SAM](building-layers.md).

## Excepciones
<a name="sam-specification-resource-attributes-exceptions"></a>

Hay varias excepciones a las reglas de atributos de recursos descritas anteriormente:
+ Para`AWS::Lambda::LayerVersion`, el campo AWS SAM personalizado exclusivo `RetentionPolicy` establece el campo `DeletionPolicy` para los CloudFormation recursos generados. Esto tiene una prevalencia mayor que `DeletionPolicy`. Si no se establece en ningún caso, `DeletionPolicy` se establece de forma predeterminada en `Retain`.
+ Para `AWS::Lambda::Version`, si no se especifica la `DeletionPolicy`, el valor predeterminado es `Retain`.
+ En el escenario en el que `DeploymentPreferences` se especifica una función sin servidor, los atributos de los recursos no se copian en los siguientes recursos generados CloudFormation :
  + `AWS::CodeDeploy::Application`
  + `AWS::CodeDeploy::DeploymentGroup`
  + El `AWS::IAM::Role` llamado `CodeDeployServiceRole` que se crea para este escenario
+ Si la AWS SAM plantilla contiene varias funciones con fuentes de eventos de API que se crean implícitamente, las funciones compartirán el recurso generado`AWS::ApiGateway::RestApi`. En este escenario, si las funciones tienen atributos de recurso diferentes, entonces, para el `AWS::ApiGateway::RestApi` recurso generado, AWS SAM copia los atributos del recurso de acuerdo con las siguientes listas priorizadas:
  + `UpdateReplacePolicy`:

    1. `Retain`

    1. `Snapshot`

    1. `Delete`
  + `DeletionPolicy`:

    1. `Retain`

    1. `Delete`

# Extensiones de API Gateway para AWS SAM
<a name="sam-specification-api-gateway-extensions"></a>

Las extensiones API Gateway, diseñadas específicamente para AWS, proporcionan personalizaciones y funcionalidades adicionales para el diseño y la administración APIs. Las extensiones de API Gateway son extensiones de la especificación OpenAPI que admiten la autorización AWS específica y las integraciones de API específicas de API Gateway. Para obtener más información acerca de las extensiones de API Gateway, consulte [Extensiones de OpenAPI para API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html).

AWS SAM admite un subconjunto de extensiones de API Gateway. Para ver qué extensiones de API Gateway son compatibles AWS SAM, consulte la siguiente tabla.


|  |  | 
| --- |--- |
|  Extensión API Gateway  |  Compatible con AWS SAM  | 
| [x-amazon-apigateway-any-objeto de método](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-any-method.html) | Sí | 
| [x-amazon-apigateway-apiPropiedad -key-source](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html) | No | 
| [x-amazon-apigateway-auth Objeto](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-auth.html) | Sí | 
| [x-amazon-apigateway-authorizer Objeto](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html) | Sí | 
| [x-amazon-apigateway-authtype Propiedad](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authtype.html) | Sí | 
| [x-amazon-apigateway-binaryPropiedad -media-types](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html) | Sí | 
| [x-amazon-apigateway-documentation Objeto](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-documentation.html) | No | 
| [x-amazon-apigateway-endpoint-Objeto de configuración](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html) | No | 
| [x-amazon-apigateway-gatewayObjeto -responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html) | Sí | 
| [x-amazon-apigateway-gatewayObjeto -responses.GatewayResponse](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.gatewayResponse.html) | Sí | 
| [x-amazon-apigateway-gatewayObjeto -Responses.responseParameters](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.responseParameters.html) | Sí | 
| [x-amazon-apigateway-gateway-Objeto Responses.responseTemplates](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.responseTemplates.html) | Sí | 
| [x-amazon-apigateway-integration Objeto](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration.html) | Sí | 
| [x-amazon-apigateway-integrationObjeto .requestTemplates](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-requestTemplates.html) | Sí | 
| [x-amazon-apigateway-integrationObjeto .requestParameters](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-requestParameters.html) | No | 
| [x-amazon-apigateway-integrationObjeto .responses](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responses.html) | Sí | 
| [x-amazon-apigateway-integrationObjeto .response](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-response.html) | Sí | 
| [x-amazon-apigateway-integrationObjeto.responseTemplates](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responseTemplates.html) | Sí | 
| [x-amazon-apigateway-integrationObjeto .responseParameters](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responseParameters.html) | Sí | 
| [x-amazon-apigateway-request-propiedad validator](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validator.html) | No | 
| [x-amazon-apigateway-request-Objeto validators](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validators.html) | No | 
| [x-amazon-apigateway-requestObjeto -Validators.requestValidator](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validators.requestValidator.html) | No | 

# Funciones intrínsecas para AWS SAM
<a name="sam-specification-intrinsic-functions"></a>

Las funciones intrínsecas son funciones integradas que permiten asignar valores a propiedades que solo están disponibles en tiempo de ejecución. AWS SAM tiene un soporte limitado para determinadas propiedades de las funciones intrínsecas, por lo que no puede resolver algunas funciones intrínsecas. Por lo tanto, recomendamos agregar la transformación `AWS::LanguageExtensions` para resolver este problema. `AWS::LanguageExtensions`Se trata de una macro alojada por la CloudFormation que se pueden utilizar funciones intrínsecas y otras funcionalidades que, por defecto, no están incluidas CloudFormation.

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

**nota**  
Si utiliza funciones intrínsecas en la CodeUri propiedad, no AWS SAM podrá analizar correctamente los valores. Considere la posibilidad de usar la transformación `AWS::LanguageExtensions` en su lugar.  
Para obtener más información, consulte la [sección Propiedades de AWS::Serverless::Function](sam-resource-function.md#sam-resource-function-properties).

Para obtener más información sobre las funciones intrínsecas, consulta la [Referencia de función intrínseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html) en la *Guía del usuario de AWS CloudFormation *.