【发布时间】:2021-07-17 13:59:55
【问题描述】:
我配置了X-Ray,它适用于大多数系统,但在从另一个Lambda 调用Lambda 时出现问题。我在调用new Lambda()之前包装了整个aws SDK:
import xray from 'aws-xray-sdk-core';
import aws from 'aws-sdk';
const awsXray = xray.captureAWS(aws);
const lambda = new awsXray.Lambda();
const response = await lambda.invoke({...}).promise();
类似的方法适用于其他服务,但通过此调用,被调用的 Lambda 始终将 Trace ID 根设置为 Root=1-00000000-000000000000000000000000
我也尝试将实例包装为:
const lambda = captureAWSClient(new aws.Lambda()); 但这没有帮助。正在调用的 lambda(上面的代码)正确设置了 Trace ID。
【问题讨论】:
-
您能否确认第二个 lambda 是否启用了跟踪。还要添加特定版本的
aws-xray-sdk-core、aws-sdk和您的 lambda 运行时。
标签: amazon-web-services aws-lambda aws-serverless aws-xray