Запуск NodeJS времени выполнения в AWS лямбде с указанным параметром c или переменной среды - PullRequest
2 голосов
/ 05 марта 2020

Получение NodeJS Ошибка устаревания при выполнении AWS Лямбда (с использованием узла 12.x):

[DEP0066] DeprecationWarning: OutgoingMessage.prototype._headers is deprecated

не может найти модуль или фрагмент кода, который его производит. Ничто, кажется, не ссылается на _headers или _headerNames .

В узле должна быть возможность установить параметр или переменную среды как объясните здесь до --trace-deprecation и / или --trace-warnings и / или --throw-deprecation. При установке одного или нескольких из этих значений в AWS Переменные среды консоли для лямбды дополнительная информация не отображается.

AWS lambda environment variables

Как это сделать установить этот параметр времени выполнения для AWS лямбда? Есть ли способ отследить трассировку стека, чтобы узнать, где происходит устаревшая ошибка?

1 Ответ

1 голос
/ 06 марта 2020

Фелиз де Аюдар! Я вставил фрагмент на будущее.

установите флаг в webpack.config. js код, как объяснено здесь

process.traceDeprecation = true;

module.exports = {
  // Your config
};

Если ошибка устаревания в функция, которую вы можете выполнять: (даже any не соответствует цели Typescript, предназначена только для обнаружения проблемы, которую необходимо удалить после)

(process as any).traceDeprecation = true;

также может проверять значение

exports.handler = async (event) => {
    console.log( 'process.traceDeprecation', process.traceDeprecation );
    Buffer(1);
    process.on('warning', (warning) => {
        console.log( 'stack of deprecation' );
        console.log(warning.stack);
    });    
};

Спасибо!

...