【发布时间】:2020-08-29 12:39:13
【问题描述】:
我的 lambda (Nodejs) 位于 AWS Appsync 后面,启用了 xray。当它收到来自Appsync 的请求时,上下文中有一个trace id:
'x-amzn-trace-id': 'Root=1-5f4a4a2d-b94f96db34d41be1349080d2'
...
此 ID 是在某处自动生成的。有没有办法让我使用不同的跟踪 ID?
事件来到我的 lambda 有一个transactionId,我想使用这个 ID 作为跟踪 ID。我怎样才能在 lambda 中做到这一点?
我的用例是如何跨 dynamodb、延迟应用程序、事件总线等跟踪事件。例如,我的 lambdaA 将一个项目写入 Dynamodb,并且有 3 个 lambdas 被 dynamodb 流触发。这三个 lambda 以不同的方式处理事件。其中一个将事件发送到延迟系统,其中一个发送到事件总线。我想让他们在整个过程中使用相同的跟踪 id。
我可以遵循跟踪 ID 要求。我的主要问题是如何通过不同的服务、应用程序等传递它。
【问题讨论】:
-
您不应该更改跟踪 ID。它由第一个处理事件的服务分配,该服务启用了 X-Ray。你为什么要改变它?
-
我已经在问题中给出了我的用例。
标签: amazon-web-services aws-lambda aws-xray