

# Invocar uma função do Lambda de modo assíncrono
<a name="invocation-async"></a>

Vários Serviços da AWS, como o Amazon Simple Storage Service (Amazon S3) e o Amazon Simple Notiﬁcation Service (Amazon SNS), invocam funções de forma assíncrona para processar eventos. Você também pode invocar uma função do Lambda de modo assíncrono usando a AWS Command Line Interface (AWS CLI) ou um dos AWS SDKs. Ao invocar uma função de forma assíncrona, não aguarde uma resposta do código da função. Você entrega o evento para o Lambda e ele cuida do resto. Você pode configurar como o Lambda processa os erros e pode enviar registros de invocação para um recurso downstream, como o Amazon Simple Queue Service (Amazon SQS) ou o Amazon EventBridge (EventBridge), para encadear componentes da aplicação.

O diagrama a seguir mostra clientes invocando uma função do Lambda de forma assíncrona. O Lambda coloca os eventos em fila antes de enviá-los para a função.

![Os clientes chamam uma função de forma assíncrona. O Lambda coloca os eventos em fila antes de enviá-los para a função](http://docs.aws.amazon.com/pt_br/lambda/latest/dg/images/features-async.png)


Para invocação de forma assíncrona, o Lambda coloca o evento em uma fila e retorna uma resposta bem-sucedida sem informações adicionais. Um processo separado lê os eventos na fila e os envia para sua função.

 Para invocar uma função do Lambda de forma assíncrona usando a AWS Command Line Interface (AWS CLI) ou um dos AWS SDKs, defina o parâmetro [InvocationType](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html#lambda-Invoke-request-InvocationType) como `Event`. O exemplo a seguir mostra um comando AWS CLI para invocar uma função.

```
aws lambda invoke \
  --function-name my-function  \
  --invocation-type {{Event}} \
  --cli-binary-format raw-in-base64-out \
  --payload '{ "key": "value" }' response.json
```

A seguinte saída deverá ser mostrada:

```
{
    "StatusCode": 202
}
```

A opção **cli-binary-format** será necessária se você estiver usando a AWS CLI versão 2. Para que essa seja a configuração padrão, execute `aws configure set cli-binary-format raw-in-base64-out`. Para obter mais informações, consulte [A AWS CLI comporta opções de linha de comando globais](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html#cli-configure-options-list) no *Guia do usuário da AWS Command Line Interface versão 2*.

O arquivo de saída (`response.json`) não contém informações, mas continuará sendo criado quando esse comando for executado. Se o Lambda não conseguir adicionar o evento a uma fila, a mensagem de erro será exibida na saída do comando.