【发布时间】:2022-03-01 02:05:57
【问题描述】:
我正在尝试使用 GO 代码在应用程序中检测 XRay 跟踪。我希望在多个 lambda 阶段传递相同的跟踪 ID(2-3 个主管 lambda 一个接一个地调用 2-3 个工作 lambda),以便它们在一个 AWS XRay 服务地图中可见。每个 lambda 都可以访问 S3 存储桶、DynamoDB 和 PostgreSQL RDS 实例来执行一些操作。到目前为止,每个 lambda 阶段都有不同的跟踪 ID,当我刚刚尝试为 lambda 启用 X 射线跟踪时,这些 ID 在 XRay 服务图中显示为独立的图表(未连接)。还需要在 XRay 服务地图中查看上面提到的其他 AWS 服务。 任何示例 GO 代码都会非常有用。
例如:
Req := &slambda.InvokeInput{
FunctionName: aws.String(endInfo.workerArn),
InvocationType: aws.String("RequestResponse"),
Payload: jsonData,
}
上面是一段从主管 lambda 处理程序调用工作 lambda 的代码。我们如何将跟踪 id 或上下文从第一个 lambda 传递给后续 lambda,以便 AWS Xray 自动拾取它并显示相互关联的 xray 映射整个应用程序的?
【问题讨论】:
标签: amazon-web-services go aws-lambda aws-xray