Api - AWS Serverless Application Model

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Api

O objeto que descreve um tipo de origem do evento Api. Se um recurso AWS::Serverless::Api for definido, os valores do caminho e do método devem corresponder a uma operação na definição de OpenAPI da API.

Se nenhum AWS::Serverless::Api for definido, a entrada e a saída da função serão uma representação da solicitação HTTP e da resposta HTTP.

Por exemplo, usando a API JavaScript, o código de status e o corpo da resposta podem ser controlados retornando um objeto com as chaves statusCode e corpo.

Sintaxe

Para declarar esta entidade no modelo do AWS Serverless Application Model (AWS SAM), use a seguinte sintaxe:

Propriedades

Auth

Configuração de autenticação para essa Api+Path+Method específica.

Útil parar substituir a configuração DefaultAuthorizer da API para um caminho individual, quando nenhum DefaultAuthorizer for especificado, ou para substituir a configuração padrão ApiKeyRequired.

Tipo: ApiFunctionAuth

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

Method

Método HTTP para o qual essa função é invocada.

Tipo: string

Obrigatório: Sim

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

Path

Caminho Uri para o qual essa função é invocada. Deve começar com /.

Tipo: string

Obrigatório: Sim

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

RequestModel

Solicite o modelo a ser usado para essa Api+Path+Method específica. Isso deve fazer referência ao nome de um modelo especificado na seção Models de um recurso AWS::Serverless::Api.

Tipo: RequestModel

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

RequestParameters

Solicite a configuração dos parâmetros para este Api+Path+Method específico. Todos os nomes de parâmetros devem começar com method.request e devem ser limitados a method.request.header, method.request.querystring ou a method.request.path.

Uma lista pode conter cadeias de caracteres de nome de parâmetro e objetos RequestParameter. Para cadeias de caracteres, as propriedades Required e Caching serão padronizadas como false.

Tipo: Lista de [String | RequestParameter]

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

RestApiId

Identificador de um recurso RestApi, que deve conter uma operação com o caminho e método especificados. Normalmente, isso é definido para fazer referência a um recurso AWS::Serverless::Api definido nesse modelo.

Se você não definir essa propriedade, o AWS SAM cria um recurso AWS::Serverless::Api padrão usando um documento OpenApi gerado. Esse recurso contém uma união de todos os caminhos e métodos definidos por eventos Api no mesmo modelo que não especificam um arquivo RestApiId.

Isso não pode fazer referência a um recurso AWS::Serverless::Api definido em outro modelo.

Tipo: string

Obrigatório: não

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

TimeoutInMillis

Tempo limite personalizado entre 50 e 29.000 milissegundos.

nota

Quando você especifica essa propriedade, o AWS SAM modifica sua definição de OpenAPI. A definição da OpenAPI deve ser especificada em linha usando a propriedade DefinitionBody.

Tipo: inteiro

Obrigatório: não

Padrão: 29.000 milissegundos ou 29 segundos

Compatibilidade AWS CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem AWS CloudFormation equivalente.

Exemplos

Exemplo 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