AWS Lambda
Guia do desenvolvedor

Registro da função do AWS Lambda no Go

Sua função do Lambda pode conter instruções de registro e o AWS Lambda, por sua vez, grava esses logs no CloudWatch. Se você usar o console do Lambda, para invocar a função do Lambda, o console exibirá os mesmos logs.

Por exemplo, considere o exemplo a seguir:

package main import ( "log" "github.com/aws/aws-lambda-go/lambda" ) func HandleRequest() { log.Print("Hello from Lambda") } func main() { lambda.Start(HandleRequest) }

Ao importar o módulo log, o Lambda gravará informações de log adicionais, como time stamp.

Você também pode analisar os logs no CloudWatch. Para obter mais informações, consulte Acessar os logs do Amazon CloudWatch para o AWS Lambda.

Em vez de usar o módulo log, você pode usar as instruções de Print em seu código, conforme mostrado a seguir:

package main import ( "fmt" "github.com/aws/aws-lambda-go/lambda" ) func HandleRequest() { fmt.Print("Hello from Lambda") } func main() { lambda.Start(HandleRequest) }

Nesse caso, somente o texto transmitido ao método de Print é enviado para o CloudWatch. As entradas de log não terão informações adicionais que a função log.Print retornará. Além disso, qualquer registrador em log que grave stdout ou stderror será integrará perfeitamente a uma função do Go, e esses logs serão automaticamente enviados aos logs do CloudWatch.

O console usa o tipo de invocação RequestResponse (invocação síncrona) ao invocar a função. E, portanto, ele obtém o valor de retorno ("Hello from Lambda!") do AWS Lambda.

Localização de logs

Você pode encontrar os logs gravados pela função Lambda da seguinte forma:

  • No console do AWS Lambda – A seção Log output (Saída do log) no console do AWS Lambda mostra os logs.

  • No cabeçalho da resposta, quando você chama uma função do Lambda de forma programática – Se você invocar uma função do Lambda de forma programática, você poderá adicionar o parâmetro LogType para recuperar os últimos 4 KB de dados de log gravados nos CloudWatch Logs. O AWS Lambda retornará essas informações de log no cabeçalho x-amz-log-results dentro da resposta. Para obter mais informações, consulte Invoke.

    Se você usar a CLI da AWS para invocar a função, poderá especificar o --log-type parameter com o valor Tail para recuperar as mesmas informações.

  • No CloudWatch Logs – Para encontrar os logs no CloudWatch, é necessário saber o nome do grupo de logs e o nome do fluxo de logs. Você pode usar o context.logGroupName e as variáveis globais context.logStreamName na biblioteca Objeto de contexto do AWS Lambda no Go para obter essas informações. Quando você executar a função Lambda, os logs resultantes no console ou na CLI mostrarão o nome do grupo de logs e o nome do fluxo de logs.

Nesta página: