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á.
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 JavaScript API, o código de status e o corpo da resposta podem ser controlados retornando um objeto com as chaves statusCode e body.
Sintaxe
Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.
YAML
Auth: ApiFunctionAuth
Method: String
Path: String
RequestModel: RequestModel
RequestParameters: List of [ String | RequestParameter ]
RestApiId: String
TimeoutInMillis: Integer
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 nenhumDefaultAuthorizer
for especificado, ou para substituir a configuração padrãoApiKeyRequired
.Digite: ApiFunctionAuth
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS CloudFormation equivalente.
-
Method
-
Método HTTP para o qual essa função é invocada. As opções incluem
DELETE
GET
,HEAD
OPTIONS
,PATCH
,POST
,PUT
,,ANY
e. Consulte Configurar um método HTTP no Guia do Desenvolvedor do API Gateway para obter detalhes.Type: string
Obrigatório: Sim
AWS CloudFormation compatibilidade: essa propriedade é exclusiva 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
AWS CloudFormation compatibilidade: essa propriedade é exclusiva 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.Digite: RequestModel
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva 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 amethod.request.header
,method.request.querystring
ou amethod.request.path
.Uma lista pode conter cadeias de caracteres de nomes de parâmetros e RequestParameterobjetos. Para cadeias de caracteres, as propriedades
Required
eCaching
serão padronizadas comofalse
.Tipo: Lista de [String | RequestParameter]
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva AWS SAM e não tem AWS CloudFormation equivalente.
-
RestApiId
-
Identificador de um RestApi recurso, que deve conter uma operação com o caminho e o método fornecidos. Normalmente, isso é definido para fazer referência a um recurso AWS::Serverless::Api definido nesse modelo.
Se você não definir essa propriedade, AWS SAM cria um AWS::Serverless::Api recurso padrão usando um
OpenApi
documento gerado. Esse recurso contém uma união de todos os caminhos e métodos definidos por eventosApi
no mesmo modelo que não especificam um arquivoRestApiId
.Isso não pode fazer referência a um recurso AWS::Serverless::Api definido em outro modelo.
Tipo: string
Obrigatório: não
AWS CloudFormation compatibilidade: essa propriedade é exclusiva 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, 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
AWS CloudFormation compatibilidade: essa propriedade é exclusiva 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