ОШИБКА Ошибка: напишите EPIPE на AWS Lambda с помощью html-pdf

Я закодировал класс NodeJS, который должен создавать PDF-файл из строки html. Класс развернут на AWS Lambda. Он основан на html-pdf (https://www.npmjs.com/package/html-pdf).

const {readFileSync} = require('fs');
const pdf = require('html-pdf');

process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT'];

const options = { format: 'Letter' };

const createPDF = async (fileName, data) => {

    let text = readFileSync('./templates/' + fileName + '.html','utf8');

    data.forEach(element => {
        text = text.replace("{{{" + element[0] + "}}}",element[1]);
    });

    console.log(text);

    return new Promise(function(resolve, reject) {
        pdf.create(text, options).toBuffer(function (err, buffer) {
            if (!err)
                resolve(buffer);
            else
                console.log(buffer)
        });
    });
};

module.exports = {
    createPDF
};

Но после вызова метода createPDF возникает следующая ошибка:

ERROR   Error: write EPIPE
    at afterWriteDispatched (internal/stream_base_commons.js:154:25)
    at writeGeneric (internal/stream_base_commons.js:145:3)
    at Socket._writeGeneric (net.js:784:11)
    at Socket._write (net.js:796:8)
    at doWrite (_stream_writable.js:403:12)
    at writeOrBuffer (_stream_writable.js:387:5)
    at Socket.Writable.write (_stream_writable.js:318:11)
    at PDF.PdfExec [as exec] (/var/task/node_modules/html-pdf/lib/pdf.js:141:15)
    at PDF.PdfToBuffer [as toBuffer] (/var/task/node_modules/html-pdf/lib/pdf.js:44:8)
    at /var/task/src/helper/PDFHelper.js:19:35 {
  errno: 'EPIPE',
  code: 'EPIPE',
  syscall: 'write'
}

Кто-нибудь знает как это решить?

С уважением Юлиус


person juliusphysics    schedule 29.07.2020    source источник