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

Para declarar esta entidad en tu plantilla 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

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

Method

Método HTTP para el que se invoca esta función. Las opciones incluyen DELETE GETHEAD,OPTIONS,PATCH, POSTPUT, yANY. Consulte Configuración de un método HTTP en la Guía para desarrolladores de API Gateway para obtener más información.

Tipo: cadena

Obligatorio: sí

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

Path

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

Tipo: cadena

Obligatorio: sí

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

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

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

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 tanto cadenas de nombres de parámetros como RequestParameterobjetos. 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

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

RestApiId

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

Si no define esta propiedad, AWS SAM crea un AWS::Serverless::Api 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 definido en otra plantilla.

Tipo: cadena

Obligatorio: no

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

TimeoutInMillis

Tiempo de espera personalizado entre 50 y 29 000 milisegundos.

nota

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)

AWS CloudFormation compatibilidad: esta propiedad es exclusiva AWS SAM y no tiene un AWS CloudFormation equivalente.

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