我正在使用AWS Lambda使用ninja2模板生成pdf文件。我正在尝试使用pdfkit
将HTML转换为pdf。我意识到pdfkit
有一个内部依赖性-wkhtmltopdf
需要用作二进制文件或通过程序包管理器安装。我不确定如何在AWS Lambda上实现此功能?
使用我当前使用pdfkit的模板和python代码,出现以下错误-
{
"errorMessage": "No wkhtmltopdf executable found: \"b''\"\nIf this file exists please check that this process can read it. Otherwise please install wkhtmltopdf - https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf",
"errorType": "OSError",
.....
.....
}
关于如何使pdfkit
在lambda上起作用的任何想法?
wkhtmltopdf
替换有任何建议吗?
谢谢
AWS Lambda具有分层的概念,它允许您以zip格式上传自定义依赖项,然后将其安装在盒子上就可以使用了。有关更多信息,请参见此处:
https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html
在您的情况下,您可以将wkhtmltopdf
的二进制文件作为层上传,并且在创建lambda函数时,可以提供要使用的层。
例如,GitHub上有多个项目用于在Lambda上运行wkhtmltopdf
:
https://github.com/lubos/aws-lambda-wkhtmltopdf