5

NodeJS 8.0 を使用して AWS Lambda で PDF を作成するために html-pdf (phantomjs) を使用してきましたが、正常に動作していました。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 で同様の問題を確認しようとしました。私はphantomjsパスを正しく指し示し、fontconfigも配置しました。Lambda 関数を更新できないため、現在行き詰まっています。どんな助けでも大歓迎です。

更新: phantomjs バイナリへのパスを変更しました:

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

パスをphantomjsバイナリに変更した後、エラーは次のように変わりました:

{"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)"]}
4

3 に答える 3