如何找到我的 lambda 所在的跟踪 ID?
How can I find the trace ID my lambda is under?
我希望能够在日志中轻松找到我的 lambda 执行的跟踪 ID(和段 ID)。
我意识到这在 lambda 自动执行的 REPORT 日志中可用,但该日志不符合我的索引和聚合自定义格式。这意味着从有关错误的日志中获取跟踪 ID 很麻烦。
有没有办法从 lambda 中访问跟踪 ID(和段 ID)?看起来它不在传递给处理程序的上下文中,而且我在 XRay SDK 中看不到我需要什么。我看到有关于更改跟踪 ID 的问题,但我不想这样做 - 只是找出它是什么,这样我就可以将它添加到我的所有日志中。
我正在使用 C# .NET lambda,尽管这可能并不重要。
谢谢!
您的 Lambda 中设置了一个包含跟踪 ID 的环境变量:
_X_AMZN_TRACE_ID
因此您只需要在代码中读取该环境变量:
string traceId = Environment.GetEnvironmentVariable("_X_AMZN_TRACE_ID");
我希望能够在日志中轻松找到我的 lambda 执行的跟踪 ID(和段 ID)。
我意识到这在 lambda 自动执行的 REPORT 日志中可用,但该日志不符合我的索引和聚合自定义格式。这意味着从有关错误的日志中获取跟踪 ID 很麻烦。
有没有办法从 lambda 中访问跟踪 ID(和段 ID)?看起来它不在传递给处理程序的上下文中,而且我在 XRay SDK 中看不到我需要什么。我看到有关于更改跟踪 ID 的问题,但我不想这样做 - 只是找出它是什么,这样我就可以将它添加到我的所有日志中。
我正在使用 C# .NET lambda,尽管这可能并不重要。
谢谢!
您的 Lambda 中设置了一个包含跟踪 ID 的环境变量:
_X_AMZN_TRACE_ID
因此您只需要在代码中读取该环境变量:
string traceId = Environment.GetEnvironmentVariable("_X_AMZN_TRACE_ID");