【发布时间】:2016-03-28 05:47:20
【问题描述】:
我希望通过为 AWS lambda 提供一系列来自我的 s3 存储桶的图像来生成动画 GIF,然后它会将这些图像下载到它的 /tmp/ 文件夹中。
我在文档中读到 imagemagick 预装在 lambda 上,但由于某种原因我不能通过 python 子进程调用它:
import subprocess
# ... some code later ...
# Now, generate the gif
input_dir = '/tmp/'
output_dir = '/tmp/'
args = (['convert', '-delay', '60', '-dispose', 'Background', '+page'] +
files_list +
['-loop', '0', os.path.join(output_dir, 'animation.gif')])
try:
subprocess.check_call(args)
print("gif was generated")
except subprocess.CalledProcessError as e:
print("gif produced errors ...")
print(e.output)
知道如何通过 lambda 上的子进程调用 imagemagick 吗?我已经能够在本地和 ec2 上让它工作,但在 lambda 上没有运气。我得到的唯一响应是它生成一个空白的 .gif 文件并在输出“gif 产生错误 ...”后返回一个空的异常线程。
【问题讨论】:
-
你看过这个教程吗? docs.aws.amazon.com/lambda/latest/dg/…
标签: python amazon-web-services amazon-s3 imagemagick-convert aws-lambda