微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何找到我的 lambda 所在的跟踪 ID?

如何解决如何找到我的 lambda 所在的跟踪 ID?

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

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

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

我使用的是 C# .NET lambdas,尽管这可能并不重要。

谢谢!

解决方法

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

_X_AMZN_TRACE_ID

所以你只需要在你的代码中读取那个环境变量:

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

来源:AWS Documentation

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。