AWS лямбда html -pdf фантом js «Ошибка: написать EPIPE» на NodeJS 12.x - PullRequest
2 голосов
/ 17 июня 2020

Я использовал html -pdf (фантом js) для создания PDF на AWS Lambda с NodeJS 8.0, и он работал нормально. Поскольку AWS Lambda прекратила поддержку NodeJS 8.0, мы обновили нашу NodeJS версию до последней версии 12.x, и теперь мы получаем следующую ошибку при запуске функции PDF Lambda:

{"errorType":"Error","errorMessage":"write EPIPE","code":"EPIPE","errno":"EPIPE","syscall":"write","stack":["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/index.js:121:38"]}

phantomPath: './phantomjs_lambda/phantomjs'
process.env.FONTCONFIG_PATH='/var/task/fonts'

Я пытался проверить аналогичные проблемы в StackOverflow. Я правильно указал путь фантома js, также у меня есть файл fontconfig. Теперь мы застряли, так как не можем обновить лямбда-функцию. Любая помощь будет принята с благодарностью.

Обновление: изменен путь на фантом js двоичный:

phantomPath: './node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs'

После изменения пути на фантомное js двоичное, ошибка изменилась на:

{"errorType":"Error","errorMessage":"write EPIPE","code":"EPIPE","errno":"EPIPE","syscall":"write","stack":["Error: write EPIPE","    at WriteWrap.onWriteComplete [as oncomplete] (internal/stream_base_commons.js:92:16)"]}
...