amazon-web-services - 如何在 AWS Lambda 中使用 pdfkit?
问题描述
我正在使用 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 函数时提供要使用的图层。
推荐阅读
- java - java exec() 的输出语言字符串
- javascript - 在 ajax 调用运行时使用 setTimeInterval 延迟函数
- scala - HList 到嵌套 Map
- ios - swift - 在 collectionview 单元类和 collectionview 控制器之间调用函数
- algorithm - 在允许的重量范围内配对 2 个对象的算法?
- mongodb - 将字符串转换为objectid mongodb
- amazon-web-services - cloudformation 从 LoadBalancerArn 获取 DNSName
- angular - 管道成功排序和记录数据,但未在 html 中显示
- git - 防止在本地处理 dev 分支
- mysql - MySQL,获取一周中所有日子的平均值