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

如何更改X射线的lambda中的跟踪ID?

如何解决如何更改X射线的lambda中的跟踪ID?

启用了X射线的我的lambda(Nodejs)坐在<body link="white" alink="yellow" vlink="orange"> <h1 class="rainbow-text" align="center"><u class="rainbow-text">Welcome!☻</u></h1> <font color="white"> <hr> <button onclick="switch(car)">Welcome</button>后面。当它收到来自AWS Appsync的请求时,上下文中将包含一个跟踪ID:

Appsync

此ID是在某处自动生成的。有没有办法让我使用其他跟踪ID? 事件传到我的lambda上有一个'x-amzn-trace-id': 'Root=1-5f4a4a2d-b94f96db34d41be1349080d2' ... ,我想将此ID用作trace-id。我该如何在lambda中做到这一点?

我的用例是如何在dynamodb,延迟应用程序,事件总线等上跟踪事件。例如,我的transactionId向Dynamodb写入了一个项目,并且dynamodb流触发了3个lambda。这三个lambda以不同的方式处理事件。其中之一将事件发送到延迟系统,其中之一发送到事件总线。我想让他们在整个过程中使用相同的跟踪ID。

我可以遵循跟踪ID的要求。我的主要问题是如何将其通过不同的服务,应用程序等。

解决方法

lambda函数调用将生成一个跟踪ID,并自动为lambda函数创建一个Segment。该段是不可变的。如果您不是从一开始就使用X-Ray SDK生成的,则无法从lambda函数外部更改traceid。在lambda函数中,不建议更改跟踪ID,因为它可能会污染跟踪上下文。 AWS X-Ray跟踪ID必须遵循these requirements才能被接受。不知道您是否决定注入transactionId,它会起作用。

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