

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.

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