

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á.

# HttpApi
<a name="sam-property-function-httpapi"></a>

O objeto que descreve uma fonte de eventos com tipo HttpApi.

Se houver uma OpenApi definição para o caminho e o método especificados na API, o SAM adicionará a seção de integração e segurança do Lambda (se aplicável) para você.

Se não existir uma OpenApi definição para o caminho e o método especificados na API, o SAM criará essa definição para você.

## Sintaxe
<a name="sam-property-function-httpapi-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-httpapi-syntax.yaml"></a>

```
  [ApiId](#sam-function-httpapi-apiid): String
  [Auth](#sam-function-httpapi-auth): HttpApiFunctionAuth
  [Method](#sam-function-httpapi-method): String
  [Path](#sam-function-httpapi-path): String
  [PayloadFormatVersion](#sam-function-httpapi-payloadformatversion): String
  [RouteSettings](#sam-function-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [TimeoutInMillis](#sam-function-httpapi-timeoutinmillis): Integer
```

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

 `ApiId`   <a name="sam-function-httpapi-apiid"></a>
Identificador de um recurso [AWS::Serverless::HttpApi](sam-resource-httpapi.md) definido neste modelo.  
Se não for definido, um [AWS::Serverless::HttpApi](sam-resource-httpapi.md) recurso padrão é criado chamado `ServerlessHttpApi` usando um OpenApi documento gerado contendo uma união de todos os caminhos e métodos definidos pelos eventos da Api definidos neste modelo que não especificam um`ApiId`.  
Isso não pode fazer referência a um recurso [AWS::Serverless::HttpApi](sam-resource-httpapi.md) definido em outro modelo.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Auth`   <a name="sam-function-httpapi-auth"></a>
Configuração de autenticação para essa Api\$1Path\$1Method específica.  
Útil para substituir as APIs `DefaultAuthorizer` ou definir a configuração de autenticação em um caminho individual quando não `DefaultAuthorizer` é especificado.  
*Digite*: [HttpApiFunctionAuth](sam-property-function-httpapifunctionauth.md)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Method`   <a name="sam-function-httpapi-method"></a>
Método HTTP para o qual essa função é invocada.  
Se não `Path` e `Method` for especificado, o SAM criará um caminho de API padrão que roteia qualquer solicitação que não seja mapeada para um endpoint diferente para essa função do Lambda. Somente um desses caminhos padrão pode existir por API.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Path`   <a name="sam-function-httpapi-path"></a>
Caminho Uri para o qual essa função é invocada. Deve começar com `/`.  
Se não `Path` e `Method` for especificado, o SAM criará um caminho de API padrão que roteia qualquer solicitação que não seja mapeada para um endpoint diferente para essa função do Lambda. Somente um desses caminhos padrão pode existir por API.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `PayloadFormatVersion`   <a name="sam-function-httpapi-payloadformatversion"></a>
Especifica o formato da carga enviada para uma integração.  
OBSERVAÇÃO: PayloadFormatVersion requer que o SAM modifique sua definição de OpenAPI, portanto, ele só funciona com inline OpenApi definido na propriedade. `DefinitionBody`  
*Tipo:* string  
*Obrigatório*: não  
*Padrão*: 2.0  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `RouteSettings`   <a name="sam-function-httpapi-routesettings"></a>
As configurações de rota por rota para essa API HTTP. Para obter mais informações sobre as configurações de rota, consulte [AWS::ApiGatewayV2::Stage RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html)o *Guia do desenvolvedor do API Gateway*.  
Nota: Se RouteSettings forem especificados no HttpApi recurso e na fonte do evento, AWS SAM mescla-os com as propriedades da fonte do evento que têm precedência.  
*Digite*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é passada diretamente para a `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` propriedade de um `AWS::ApiGatewayV2::Stage` recurso.

 `TimeoutInMillis`   <a name="sam-function-httpapi-timeoutinmillis"></a>
Tempo limite personalizado entre 50 e 29.000 milissegundos.  
OBSERVAÇÃO: TimeoutInMillis requer que o SAM modifique sua definição de OpenAPI, portanto, ele só funciona com inline OpenApi definido na propriedade. `DefinitionBody`  
*Tipo*: inteiro  
*Obrigatório*: não  
*Padrão*: 5000  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

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

### HttpApi Evento padrão
<a name="sam-property-function-httpapi--examples--default-httpapi-event"></a>

HttpApi Evento que usa o caminho padrão. Todos os caminhos e métodos não mapeados nessa API serão roteados para esse endpoint.

#### YAML
<a name="sam-property-function-httpapi--examples--default-httpapi-event--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
```

### HttpApi
<a name="sam-property-function-httpapi--examples--httpapi"></a>

HttpApi Evento que usa um caminho e um método específicos.

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

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /
      Method: GET
```

### HttpApi Autorização
<a name="sam-property-function-httpapi--examples--httpapi-authorization"></a>

HttpApi Evento que usa um Autorizador.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi-authorization--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /authenticated
      Method: GET
      Auth:
        Authorizer: OpenIdAuth
        AuthorizationScopes:
          - scope1
          - scope2
```

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

Configura a autorização no nível do evento.

Configurar Auth para uma API \$1 Path \$1 Method específica

## Sintaxe
<a name="sam-property-function-httpapifunctionauth-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-httpapifunctionauth-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

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

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
Os escopos de autorização a serem aplicados a essa API, caminho e método.  
Os escopos listados aqui substituirão quaisquer escopos aplicados pelo, `DefaultAuthorizer` se existirem.  
*Tipo*: lista  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
O `Authorizer` para uma função específica. Para usar a autorização do IAM, especifique `AWS_IAM` e especifique `true` for `EnableIamAuthorizer` na `Globals` seção do seu modelo.  
Se você especificou um autorizador global na API e deseja tornar pública uma função específica, substitua configurando `Authorizer` como `NONE`.  
*Tipo:* string  
*Obrigatório*: não  
*CloudFormation compatibilidade*: essa propriedade é exclusiva AWS SAM e não tem CloudFormation equivalente.

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

### Function-Auth
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

Especificando a autorização no nível da função

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### Autorização do IAM
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

Especifica a autorização do IAM no nível do evento. Para usar a `AWS_IAM` autorização no nível do evento, você também deve especificar `true` for `EnableIamAuthorizer` na `Globals` seção do seu modelo. Para obter mais informações, consulte [Seção Global do modelo AWS SAM](sam-specification-template-anatomy-globals.md).

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```