AWS Lambda
Guia do desenvolvedor

Registro da função do AWS Lambda no C#

Sua função do Lambda pode conter instruções de registro e o AWS Lambda, por sua vez, grava esses logs no CloudWatch Logs.

No modelo de programação em C#, há três formas de registrar dados em sua função:

  • Use os métodos estáticos Write ou WriteLine fornecidos pela classe Console da C#. Todos os itens gravados no padrão ou erro padrão – usando Console.Write ou um método semelhante – serão registrados no CloudWatch Logs.

    public class ProductService { public async Task<Product> DescribeProduct(DescribeProductRequest request) { Console.WriteLine("DescribeProduct invoked with Id " + request.Id); return await catalogService.DescribeProduct(request.Id); } }
  • Use o método Log na classe Amazon.Lambda.Core.LambdaLogger. Esta é uma classe estática que pode ser usada em qualquer lugar de seu aplicativo. Para usar esse recurso, você deve incluir a biblioteca Amazon.Lambda.Core .

    using Amazon.Lambda.Core; public class ProductService { public async Task<Product> DescribeProduct(DescribeProductRequest request) { LambdaLogger.Log("DescribeProduct invoked with Id " + request.Id); return await catalogService.DescribeProduct(request.Id); } }

    Todas as chamadas para LambdaLogger.Log resultam em um evento do CloudWatch Logs, contanto que o tamanho do evento esteja dentro dos limites permitidos. Para obter informações sobre os limites do CloudWatch Logs, consulte Limites do CloudWatch Logs no Guia do usuário do Amazon CloudWatch.

  • Use o registrador em ILambdaContext. O objeto ILambdaContext (se especificado) em seu método contém uma propriedade Logger que representa um LambdaLogger. O exemplo a seguir demonstra como usar este método:

    public class ProductService { public async Task<Product> DescribeProduct(DescribeProductRequest request, ILambdaContext context) { context.Logger.Log("DescribeProduct invoked with Id " + request.Id); return await catalogService.DescribeProduct(request.Id); } }

Como localizar logs

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

  • Localizar logs no CloudWatch Logs. O objeto ILambdaContext fornece o LogStreamName e as propriedades de LogGroupName. Usando essas propriedades, é possível encontrar o fluxo de logs específico onde os logs são gravados.

  • Se você invocar uma função do Lambda pelo console, o tipo de invocação será sempre RequestResponse (ou seja, uma execução síncrona) e o console exibirá os logs gravados pela função do Lambda usando o objeto LambdaLogger. O AWS Lambda também retorna logs dos métodos Console.Write e Console.WriteLine.

  • Se você invocar uma função do Lambda em um programa, poderá adicionar o parâmetro LogType para recuperar os últimos 4 KB de dados de log que foram gravados no CloudWatch Logs. Para obter mais informações, consulte Invoke. O AWS Lambda retorna as informações desse log no cabeçalho x-amz-log-results dentro da resposta. Se você usar a AWS Command Line Interface para invocar a função, poderá especificar o parâmetro --log-type com o valor Tail.

Nesta página: