AWS Lambda
Guia do desenvolvedor

Instrumentação do código Node.js no AWS Lambda

No Node.js, você pode ter que emitir subsegmentos Lambda para o X-Ray exibir informações sobre chamadas downstream para outros serviços da AWS criados pela sua função. Para fazer isso, primeiro você precisa incluir o SDK do AWS X-Ray para Node.js no seu pacote de implantação. Além disso, encapsule a declaração require do seu SDK da AWS da seguinte maneira:

var AWSXRay = require('aws-xray-sdk-core'); var AWS = AWSXRay.captureAWS(require('aws-sdk'));

Em seguida, use a variável da AWS definida no exemplo anterior para inicializar qualquer cliente de serviço que você deseja rastrear com o X-Ray, por exemplo:

s3Client = AWS.S3();

Após seguir estas etapas, qualquer chamada feita de sua função usando o s3Client resulta em um subsegmento do X-Ray que representa essa chamada. Por exemplo, você pode executar a seguinte função Node.js para ver como o rastreamento procura no X-Ray:

exemplo index.js

var AWSXRay = require('aws-xray-sdk-core'); var AWS = AWSXRay.captureAWS(require('aws-sdk')); var s3 = new AWS.S3(); exports.handler = (event, context, callback) => { var params = {Bucket: process.env.BUCKET_NAME, Key: process.env.BUCKET_KEY, Body: process.env.BODY}; s3.putObject(params, function(err, data) { if (err) { console.log(err) } else { console.log('success!') } }); };

Veja a seguir como se parece um rastreamento emitido pelo código precedente (invocação assíncrona):