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:ApiFunctionAuthMethod:StringPath:StringRequestModel:RequestModelRequestParameters:List of [ String | RequestParameter ]RestApiId:StringTimeoutInMillis:Integer
Propriedades
-
Auth -
Configuração de autenticação para essa Api+Path+Method específica.
Útil parar substituir a configuração
DefaultAuthorizerda API para um caminho individual, quando nenhumDefaultAuthorizerfor especificado, ou para substituir a configuração padrãoApiKeyRequired.Tipo: ApiFunctionAuth
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.
-
Method -
Método HTTP para o qual essa função é invocada. As opções incluem
DELETE,GET,HEAD,OPTIONS,PATCH,POST,PUTeANY. Consulte Set up an HTTP method in the API Gateway Developer Guide para obter mais detalhes.Tipo: string
Obrigatório: Sim
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem CloudFormation equivalente.
-
Path -
Caminho Uri para o qual essa função é invocada. Deve começar com
/.Tipo: string
Obrigatório: Sim
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem 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
Modelsde um recurso AWS::Serverless::Api.Tipo: RequestModel
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem 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.requeste devem ser limitados amethod.request.header,method.request.querystringou amethod.request.path.Uma lista pode conter cadeias de caracteres de nome de parâmetro e objetos RequestParameter. Para cadeias de caracteres, as propriedades
RequiredeCachingserão padronizadas comofalse.Tipo: Lista de [String | RequestParameter]
Obrigatório: não
Compatibilidade CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem 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
OpenApigerado. Esse recurso contém uma união de todos os caminhos e métodos definidos por eventosApino 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 CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem 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 CloudFormation: Essa propriedade é exclusiva do AWS SAM e não tem 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