我有一个与此类似的问题one 。我想生成一个服务 map ,使我能够查看无服务器架构的编排,尤其是跨 2 个 lambda 之间的 SNS 和 SQS。不同之处在于我使用 Amazon 的 SQS 代替 RabbitMQ。
我看到了这个question ,以及 linked forum post答案中表明此功能已经可用。
根据我在 docs 中读到的内容,这表明我只需要修补
boto
库。根据示例,我在相关的 python 文件中包含了以下内容:
from aws_xray_sdk.core import patch_all
patch_all()
但是,在测试我的 lambda 时,服务映射仍然显示为 2 个单独的跟踪,该跟踪在我的 SNS 处结束。
有人知道这里可能出现什么问题吗?
最佳答案
AWS SNS 目前缺乏将 X-Ray 跟踪上下文传递给 SQS 订阅者的功能。它仅支持 HTTP/HTTPS 和 Lambda 订阅者:https://docs.aws.amazon.com/xray/latest/devguide/xray-services-sns.html
因此,跟踪不会从 SNS 传播到 SQS,因此您会看到 2 个断开连接的跟踪。
关于python - 从 Lambda 到 SNS 到 SQS 到另一个 Lambda 的 AWS X-Ray 跟踪(Python3、boto3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71217941/