明示ミドルウェアなしでAWS Xrayへのトレースデータを取得しようとしています。次のように私のコードは次のとおりです。AWS Xrayマニュアルモード設定セグメント
const AWSXRay = require('aws-xray-sdk'),
AWS = AWSXRay.captureAWS(require('aws-sdk')),
sqs = AWSXRay.captureAWSClient(new AWS.SQS({apiVersion: '2012-11-05', region: 'eu-west-1'}));
AWSXRay.enableManualMode();
var segment = new AWSXRay.Segment('sqsSegment');
var params = {
QueueUrl: "https://sqs.eu-west-1.amazonaws.com/123/queuename",
VisibilityTimeout: 0,
WaitTimeSeconds: 0,
XraySegment: segment
};
sqs.receiveMessage(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
segment.close();
私はエラーを取得しています:Error: No sub/segment specified. A sub/segment must be provided for manual mode.
私はセグメントを作成し、receiveMessageへのparamsを経由してそれを渡しています。しかし、それは動作していないようです。何か案は?
これを行うと問題が解決しました。しかし、上のコードは、xray/nodejsドキュメントの例から直接得られたものです。 –
ページへのリンクを添付できますか?私はそれをできるだけ早く修正します。 – AWSSandra