为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 AWS X-Ray 通过 SQS 队列跟踪请求

如何使用 AWS X-Ray 通过 SQS 队列跟踪请求

红糖糍粑 2021-08-04 16:54:05
我正在尝试使用 AWS Lambda 函数启动并运行一个玩具示例f,该函数由一个 SQS 队列上的消息触发sqs,发布到另一个队列sqs',然后一个工作人员f'读取sqs'并处理整个“请求”使用 X 射线进行追踪。sqs -> f -> sqs' -> f'目前,我已经准备好队列以及从队列中写入和接收的功能。我还使用 X-Ray 跟踪从第一个函数f到 sqs 队列的请求。我目前的挑战是:我如何将跟踪传播到最终工人,以便我可以在 X 射线中看到整个过程。这是我目前的功能:public class Hello implements RequestHandler<SQSEvent, Void> {    String OUTPUT_QUEUE_URL = "...";    private AmazonSQS sqs = AmazonSQSClientBuilder.standard()        .withRequestHandlers(new TracingHandler(AWSXRay.getGlobalRecorder()))        .build();    public Void handleRequest(SQSEvent event, Context context)    {        for(SQSMessage msg : event.getRecords()){            System.out.println(new String(msg.getBody()));        }        SendMessageRequest send_msg_request = new SendMessageRequest()            .withQueueUrl(OUTPUT_QUEUE_URL)            .withMessageBody("hello world")            .withDelaySeconds(5);        sqs.sendMessage(send_msg_request);        return null;    }}public class World implements RequestHandler<SQSEvent, Void>{    public Void handleRequest(SQSEvent event, Context context)    {        for(SQSMessage msg : event.getRecords()){            System.out.println(new String(msg.getBody()));        }        return null;    }}
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 212 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信