我有一个链条(只是为了简化事情):


Lambda1(出版商)
社交网络
Lambda2(订阅者)


两个lambda都启用了X-Ray,并且在X-Ray控制台上显示为两个单独的链,每个链分别包含“ clients => AWS :: Lambda => AWS :: Lambda :: Function”。如何将他们加入一个链条? Here我看到“对于启用了主动跟踪的Lambda订户,Lambda记录了一个段,其中包含有关函数调用的详细信息,并将其发送到发布者的跟踪中”。从我在X-Ray控制台中看到的内容来看,对于我的设置而言,它并不正确。

我试图在Lambda2中为Python使用SDK,如下所示:

from aws_xray_sdk.core import xray_recorder
from aws_xray_sdk.core import patch_all

patch_all()
def lambda_handler(event, context):
   ... some code


我确实在该函数的痕迹中看到了SUBsegments,并且可以创建并看到另一个SUBsegments,但是此函数的主要段仍未连接到发布者。

我究竟做错了什么?是否可以将xray_recorder配置为使用我通过SNS从Lambda1传递的xray_trace_id?还是有更简单的方法?

最佳答案

在文档中没有明确说明,但您必须使用相同的名称

from aws_xray_sdk.core
from aws_xray_sdk.core import patch_all
patch_all()


不仅在订阅者中,而且在发布者中。这帮了我大忙。

07-24 09:39
查看更多