Ошибка: «Не удалось получить текущий фрагмент / сегмент из контекста» при использовании рентгеновского луча AWS в Lambda с node.js - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь использовать реализацию рентгеновского излучения AWS в моем текущем проекте (используя Node.js и Serverless Framework).Я пытаюсь подключить рентгеновский снимок к одной из моих лямбда-функций. У меня проблема с кодом

Error: Failed to get the current sub/segment from the context.
    at Object.contextMissingRuntimeError [as contextMissing] (/.../node_modules/aws-xray-sdk-core/lib/context_utils.js:21:15)
    at Object.getSegment (/.../node_modules/aws-xray-sdk-core/lib/context_utils.js:92:45)
    at Object.resolveSegment (/.../node_modules/aws-xray-sdk-core/lib/context_utils.js:73:19).....

, приведенным ниже:

import { DynamoDB } from "aws-sdk";
import AWSXRay from 'aws-xray-sdk';

export const handler = async (event, context, callback) => {

    const dynamo = new DynamoDB.DocumentClient({
        service: new DynamoDB({ region })
    });

    AWSXRay.captureAWSClient(dynamo.service);

    try {
        // call dynamoDB function 
    } catch(err) {
        //...
    }
}

. Для этой проблемы я использую решениеот https://forums.aws.amazon.com/thread.jspa?messageID=821510&#821510

другое решение, которое я пробовал, от https://forums.aws.amazon.com/thread.jspa?messageID=829923&#829923

код похож на

import AWSXRay from 'aws-xray-sdk';
const AWS = AWSXRay.captureAWS(require('aws-sdk'));

export const handler = async (event, context, callback) => {

    const dynamo = new AWS.DynamoDB.DocumentClient({region});

    //....
}

Все еще не работает ...

Ценится за помощь любого рода.

...