Назад | Перейти на главную страницу

Запуск двоичного файла в функции Google Cloud

У меня есть облачная функция, которая генерирует PDF-файл. Облачные функции находятся в Python3.7 и используют модуль pdfkit == 0.6.1. Этот pdfkit зависит от wkhtmltopdf. Окружающая среда ОС, в которой запущен экземпляр, не обеспечивает этой зависимости. Итак, я поместил двоичный файл wkhtmltopdf в каталог кода и использовал его оттуда. Проблема в том, что он выдает ошибку «[Errno 13] Permission denied: '/user_code/wkhtmltopdf.deb'». Есть ли способ разрешить разрешения для файла в облачных функциях? или, может быть, установить зависимость другим способом, например: «sudo apt-get install xvfb libfontconfig wkhtmltopdf

Cloud Functions - это бессерверная система, управляемая событиями; это означает, что функция будет запускаться при возникновении события, и вам не важна стоящая за ней инфраструктура. pdfkit зависит от wkhtmltopdf это двоичный файл, который должен быть установлен на вашем сервере, но не относится к области облачных функций.

Тем не менее, я попытался загрузить двоичные файлы в Cloud Functions, заархивированные с кодом, и после выполнения некоторых сложных команд с использованием python, изменив разрешение двоичных файлов на выполнение, вам нужно столкнуться с другой проблемой, wkhtmltopdf зависит от библиотек QT5. Вам необходимо загрузить свой zip-файл с двоичными файлами, библиотеками и кодом размером более 150 МБ, и даже когда вы думали, что закончили, требуется больше библиотек, требуется больше памяти, и когда вы выполняете свою функцию, это занимает много времени время для запуска из-за всей предварительной обработки.

В конце концов, это плохая идея, и вы можете использовать альтернативу, например этот.