跨不同的 Lambda 函数显式设置 requestId
Explicitly setting requestId across different Lambda functions
我正在尝试使用 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 时 persist/explicitly 提供 requestIds?我查阅了 AWS 文档,但找不到任何具体的机制。
我的另一个选择是将我的 Lambda 函数与 Xray 集成,然后可能在 Xray 上下文中传递 requestId map/trace。我怀疑我是第一个尝试跨多个 Lambda 函数跟踪请求的人,并且认为已经有一种机制可以做到这一点。任何帮助将不胜感激!
AWS X-Ray 已经使用跟踪 ID,用于在您的案例 servicea 和 serviceb 中跨两个资源进行上下文传播。对于 API 网关和 Lambda,如果您在入口点 api 网关或 lambda 上启用了 X-Ray,跟踪 ID 的上下文传播是自动的。 API 网关或 lambda 中的 X-Ray SDK 为您生成的跟踪 ID 用于唯一标识请求。如果您有自定义请求 ID,您还可以将其作为注释添加到 X-Ray 段中。
我正在尝试使用 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 时 persist/explicitly 提供 requestIds?我查阅了 AWS 文档,但找不到任何具体的机制。
我的另一个选择是将我的 Lambda 函数与 Xray 集成,然后可能在 Xray 上下文中传递 requestId map/trace。我怀疑我是第一个尝试跨多个 Lambda 函数跟踪请求的人,并且认为已经有一种机制可以做到这一点。任何帮助将不胜感激!
AWS X-Ray 已经使用跟踪 ID,用于在您的案例 servicea 和 serviceb 中跨两个资源进行上下文传播。对于 API 网关和 Lambda,如果您在入口点 api 网关或 lambda 上启用了 X-Ray,跟踪 ID 的上下文传播是自动的。 API 网关或 lambda 中的 X-Ray SDK 为您生成的跟踪 ID 用于唯一标识请求。如果您有自定义请求 ID,您还可以将其作为注释添加到 X-Ray 段中。