Api - AWS Serverless Application Model

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.

Api

El objeto que describe un tipo de fuente de evento de Api. Si se define un recurso AWS::Serverless::Api, 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, la entrada y la salida de la función son una representación de la solicitud HTTP y la respuesta HTTP.

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

Sintaxis

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

Propiedades

Auth

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

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

Method

Método HTTP para el que se invoca esta función.

Tipo: cadena

Obligatorio: sí

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

Path

Ruta de URI para la que se invoca esta función. Debe empezar con /.

Tipo: cadena

Obligatorio: sí

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

RequestModel

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.

Tipo: RequestModel

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

RequestParameters

Configuración de los parámetro de solicitud para una API+ruta+mé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 cadenas de nombres de parámetros y objetos de RequestParameter. En el caso de las cadenas, las propiedades Required y Caching se establecerán de forma predeterminada en false.

Tipo: Lista de [ Cadena | RequestParameter ]

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

RestApiId

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 definido en esta plantilla.

Si no define esta propiedad, AWS SAM crea un recurso AWS::Serverless::Api predeterminado a partir de un documento OpenApi 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 definido en otra plantilla.

Tipo: cadena

Obligatorio: no

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

TimeoutInMillis

Tiempo de espera personalizado entre 50 y 29 000 milisegundos.

nota

Al especificarse 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)

Compatibilidad con AWS CloudFormation: esta propiedad es exclusiva de AWS SAM y no tiene un equivalente AWS CloudFormation.

Ejemplos

Ejemplo básico

YAML

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