让 LibreOffice(未安装,仅限文件)在 AWS Lambda 上运行
Getting LibreOffice (uninstalled, files only) to work on AWS Lambda
我快到了,但卡在了最后一个障碍。
$ /path/to/soffice.bin --version
^ 这适用于我的本地机器(Docker 容器)和(容器部署在)AWS Lambda
然而,
$ /path/to/soffice.bin \
--headless --invisible --nodefault --nofirststartwizard --nolockcheck --nologo --norestore --nosplash \
--convert-to pdf:writer_pdf_Export \
--outdir /tmp \
$filename \
2>&1 || true # avoid exit-on-fail
...失败:
LibreOffice - dialog 'LibreOfficeDev 6.4 - Fatal Error': 'The application cannot be started.
User installation could not be completed. 'LibreOfficeDev 6.4 - Fatal Error: The application cannot be started.
User installation could not be completed.
在 google 上搜索,一切都指向 ~/.config/libreoffice
的权限问题
Lambda 运行时的文件权限发生了一些奇怪的事情。
也许它正在尝试读取或写入它无权访问的位置。
有什么办法让它工作吗?
问题是lambda只能写在/tmp
,但是默认的HOME不是/tmp
添加
export HOME=/tmp
在调用 /path/to/soffice.bin
之前
应该可以解决问题。
另外请注意,第一个 运行 会由于未知问题而产生可预测的错误。所以你应该处理重试。
(使用 Hero Translate 翻译)
我快到了,但卡在了最后一个障碍。
$ /path/to/soffice.bin --version
^ 这适用于我的本地机器(Docker 容器)和(容器部署在)AWS Lambda
然而,
$ /path/to/soffice.bin \
--headless --invisible --nodefault --nofirststartwizard --nolockcheck --nologo --norestore --nosplash \
--convert-to pdf:writer_pdf_Export \
--outdir /tmp \
$filename \
2>&1 || true # avoid exit-on-fail
...失败:
LibreOffice - dialog 'LibreOfficeDev 6.4 - Fatal Error': 'The application cannot be started. User installation could not be completed. 'LibreOfficeDev 6.4 - Fatal Error: The application cannot be started. User installation could not be completed.
在 google 上搜索,一切都指向 ~/.config/libreoffice
Lambda 运行时的文件权限发生了一些奇怪的事情。 也许它正在尝试读取或写入它无权访问的位置。
有什么办法让它工作吗?
问题是lambda只能写在/tmp
,但是默认的HOME不是/tmp
添加
export HOME=/tmp
在调用 /path/to/soffice.bin
应该可以解决问题。
另外请注意,第一个 运行 会由于未知问题而产生可预测的错误。所以你应该处理重试。
(使用 Hero Translate 翻译)