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:
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
.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 amethod.request.header
,method.request.querystring
ou amethod.request.path
.Uma lista pode conter cadeias de caracteres de nome de parâmetro e objetos RequestParameter. Para cadeias de caracteres, as propriedades
Required
eCaching
serão padronizadas comofalse
.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 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
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