

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
<a name="sam-property-function-api"></a>

O objeto que descreve um tipo de origem do evento `Api`. Se um recurso [AWS::Serverless::Api](sam-resource-api.md) 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](sam-resource-api.md) 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
<a name="sam-property-function-api-syntax"></a>

Para declarar essa entidade em seu modelo AWS Serverless Application Model (AWS SAM), use a sintaxe a seguir.

### YAML
<a name="sam-property-function-api-syntax.yaml"></a>

```
  [Auth](#sam-function-api-auth): {{ApiFunctionAuth}}
  [Method](#sam-function-api-method): {{String}}
  [Path](#sam-function-api-path): {{String}}
  [RequestModel](#sam-function-api-requestmodel): {{RequestModel}}
  [RequestParameters](#sam-function-api-requestparameters): {{List of [ String | RequestParameter ]}}
  [RestApiId](#sam-function-api-restapiid): {{String}}
  [ResponseTransferMode](#sam-function-api-responsetransfermode): {{String}}
  TimeoutInMillis: {{Integer}}
```

## Propriedades
<a name="sam-property-function-api-properties"></a>

 `Auth`   <a name="sam-function-api-auth"></a>
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`.  
*Digite*: [ApiFunctionAuth](sam-property-function-apifunctionauth.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Method`   <a name="sam-function-api-method"></a>
Método HTTP para o qual essa função é invocada. As opções incluem `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` e `ANY`. Consulte [Set up an HTTP method](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method) in the *API Gateway Developer Guide* para obter mais detalhes.  
*Tipo:* string  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Path`   <a name="sam-function-api-path"></a>
Caminho Uri para o qual essa função é invocada. Deve começar com `/`.  
*Tipo:* string  
*Obrigatório*: Sim  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
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](sam-resource-api.md).  
*Digite*: [RequestModel](sam-property-function-requestmodel.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
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 nomes de parâmetros e [RequestParameter](sam-property-function-requestparameter.md)objetos. Para cadeias de caracteres, as propriedades `Required` e `Caching` serão padronizadas como `false`.  
*Tipo*: Lista de [String \| [RequestParameter](sam-property-function-requestparameter.md)]  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
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](sam-resource-api.md) definido nesse modelo.  
Se você não definir essa propriedade, AWS SAM cria um [AWS::Serverless::Api](sam-resource-api.md) recurso padrão usando um `OpenApi` documento 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](sam-resource-api.md) definido em outro modelo.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
O modo de transferência de resposta para a integração da função Lambda. Defina como `RESPONSE_STREAM` para habilitar o streaming de respostas do Lambda por meio do API Gateway, permitindo que a função transmita respostas de volta aos clientes. Quando definido como`RESPONSE_STREAM`, o API Gateway usa a API Lambda InvokeWithResponseStreaming .  
*Tipo:* string  
*Obrigatório*: não  
*Valores válidos*: `BUFFERED` \| `RESPONSE_STREAM`  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode)propriedade de um`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
Tempo limite personalizado entre 50 e 29.000 milissegundos.  
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  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

## Exemplos
<a name="sam-property-function-api--examples"></a>

### Exemplo básico
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```