Как преобразовать html в pdf в среде узла и aws-лямбда?

Моя цель — создать узел с экспресс-приложением, которое получает JSON, конвертирует в HTML и, наконец, в PDF. Приложение должно быть развернуто на AWS Lambda с максимальным размером пакета развертывания 250 МБ (в разархивированном виде).

У меня есть JSON для сортировки HTML; однако преобразование HTML в PDF остается проблемой. Я заметил, что самые популярные решения включают в себя puppeteer, который использует безголовый хром-краулер, содержащий размер установки 227 МБ. Это невозможно, учитывая требование AWS Lambda.

В других решениях, которые я нашел, упоминается использование устаревших технологий, таких как phantomjs. Я предпочитаю избегать их ради безопасности.

Существуют ли простые и легкие решения для преобразования HTML в pdf в среде node/lambda?


person Veller Bauer    schedule 26.02.2021    source источник
comment
Вы можете использовать слой NodeJS в AWS Lambda. explainexample.com/computers/aws/aws-lambda-layers-node- приложение   -  person Chetan Ranpariya    schedule 27.02.2021
comment
Из документов: ... общий разархивированный размер функции и всех слоев не должен превышать предельный размер разархивированного пакета развертывания в 250 МБ.   -  person Veller Bauer    schedule 01.03.2021


Ответы (2)


Слои лямбда — это то, что вам нужно, вы можете просто настроить контейнер докеров, содержащий все необходимые зависимости для запуска вашей лямбды.

person enapupe    schedule 04.03.2021

В итоге я последовал этому article и все работало нормально. Я мог развернуть puppeteer-core внутри лямбды, и общий размер пакета был меньше 250 МБ. Нет необходимости в лямбда-слоях.

person Veller Bauer    schedule 05.03.2021