1

我希望能够在日志中轻松找到我的 lambda 执行的跟踪 ID(和段 ID)。

我意识到这在 lambda 自动执行的 REPORT 日志中可用,但该日志不适合我用于索引和聚合的自定义格式。这意味着从有关错误的日志中获取跟踪 ID 是很麻烦的。

有没有办法从 lambda 中访问跟踪 ID(和段 ID)?看起来它不在传递给处理程序的上下文中,我在 XRay SDK 中看不到我需要的东西。我看到有关于更改跟踪 ID 的问题,但我不想这样做 - 只需找出它是什么,这样我就可以将它添加到我的所有日​​志中。

我正在使用 C# .NET lambda,尽管这可能并不重要。

谢谢!

4

1 回答 1

3

在您的 Lambda 中设置了一个包含 Trace ID 的环境变量:

_X_AMZN_TRACE_ID

因此,您只需要在代码中读取该环境变量:

string traceId = Environment.GetEnvironmentVariable("_X_AMZN_TRACE_ID");

来源:AWS 文档

于 2021-05-19T12:46:42.227 回答