AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 AWS Lambda 中检测 Node.js 代码

在 Node.js 中,您可以让 Lambda 向 X-Ray 发送子分段,显示您的函数对其他 AWS 服务进行的下游调用的相关信息。要执行此操作,首先需要在部署程序包中包含适用于 Node.js 的 AWS X-Ray 开发工具包。此外,请按如下方式封装您的 AWS 开发工具包 require 语句:

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

然后,使用前例中定义的 AWS 变量初始化 X-Ray 需要跟踪的所有服务客户端,例如:

s3Client = AWS.S3();

完成这些步骤后,您的函数使用 s3Client 进行的任何调用都会生成代表该调用的 X-Ray 子分段。您可以运行如下 Node.js 函数示例,了解跟踪在 X-Ray 中的样子:

例 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!') } }); };

以下是上述代码发送的跟踪的样子 (异步调用):