我正在尝试使用AWS APIGateway / Lambda函数集成来构建无服务器应用程序。
我有以下设置:
* Two APIGateway resources. Calling them service A and service B for now.
* Two Lambda functions which act the the backend, responsible for processing the requests from APIGateway. Calling them LambdaFunction A and LambdaFunction B for now.
ServiceA -> LambdaFunctionA
ServiceB -> LambdaFunctionB
ServiceA->ServiceB
现在,按照设置serviceA可以调用ServiceB。我想跟踪一个从serviceA到serviceB的请求。我想做到这一点的方法之一是通过requestIds。我试图查看当serviceA调用serviceB时是否存在某种特定的方式来持久/明确提供requestIds?我查阅了AWS文档,却没有找到任何特定的机制。
我的另一种选择是将Lambda函数与Xray集成在一起,然后在Xray上下文映射/跟踪中传递requestId。我怀疑我是第一个尝试跨多个Lambda函数跟踪请求的人,并认为已经有一种机制可以做到这一点。任何帮助将不胜感激!
答案 0 :(得分:0)
AWS X-Ray已经使用跟踪ID,用于在案例servicea和serviceb中跨两种资源进行上下文传播。对于API网关和Lambda,如果在入口点api网关或lambda上启用了X-Ray,则跟踪ID的上下文传播是自动的。由API网关或lambda中的X-Ray SDK为您生成的跟踪ID用于唯一标识请求。如果您有一个自定义请求ID,则可以将其作为注释另外添加到X射线段中。