如何将 lambda 的离线跟踪发送到具有无服务器离线的本地 xray 守护程序?



我可以使用无服务器离线在本地执行lambda,我在.env文件中将AWS_DAEMON_ADRESS设置为'127.0.0.1:2000',但是侦听此端口的正在运行的守护程序不会从执行中接收任何数据。问题在于,使用在线 lambda 执行的相同代码有效,并且 xray 服务映射已正确馈送。我在离线配置中错过了什么吗?

这是一个nodeJS 8.10 lambda,由本地主机:3000上的Postman触发。我尝试直接在 lambda 的函数代码中设置守护程序地址 (127.0.0.1(,当 sls 收到调用时,它说守护程序地址已经配置(使用 .env 变量(。

我已经在serverless.yml文件中激活了apiGateway和lambda上的跟踪,当我向/dev/udp/127.0.0.1/2000回显任何内容时,守护程序会收到信息

const xray = require('aws-xray-sdk')
const aws = require('aws-sdk')
xray.captureAWS(aws)

我除了本地守护程序从离线 lambda 执行中接收一些信息,但没有任何反应

你使用的是 SAM local 吗?不幸的是,他们目前没有X射线的连接。https://github.com/awslabs/aws-sam-cli/issues/217

最新更新