AWS X-Ray Tracing 从 Lambda 到 SNS 再到 SQS 再到另一个 Lambda (Python3, boto3)
AWS X-Ray Tracing from Lambda to SNS to SQS to another Lambda (Python3, boto3)
我有一个类似的问题one。我想生成一个服务地图,让我可以查看我的无服务器架构的编排,尤其是跨 2 个 lambda 之间的 SNS 和 SQS。不同之处在于我使用 Amazon 的 SQS 代替 RabbitMQ。
我在回答中看到这个 , and the linked forum post 表明此功能已经可用。
根据我在 docs 中阅读的内容,它表明我只需要 patch
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 个断开连接的跟踪。
我有一个类似的问题one。我想生成一个服务地图,让我可以查看我的无服务器架构的编排,尤其是跨 2 个 lambda 之间的 SNS 和 SQS。不同之处在于我使用 Amazon 的 SQS 代替 RabbitMQ。
我在回答中看到这个
根据我在 docs 中阅读的内容,它表明我只需要 patch
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 个断开连接的跟踪。