

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

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