首页 > 解决方案 > 如何在 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有什么更换建议吗?

谢谢

标签: amazon-web-servicesaws-lambdawkhtmltopdfpdfkit

解决方案


AWS Lambda 具有层的概念,它允许您将自定义依赖项作为 zip 文件上传,然后在安装在盒子上时即可使用。有关更多信息,请参见此处:

https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html

在您的情况下,您可以将二进制文件上传wkhtmltopdf为图层,并在创建 lambda 函数时提供要使用的图层。


推荐阅读