gpt4 book ai didi

python - 在 AWS lambda 上将 ImageMagick 作为 python 子进程运行

转载 作者:行者123 更新时间:2023-11-28 16:28:38 25 4
gpt4 key购买 nike

我希望通过向 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 产生的错误...”后返回一个空的异常线程。

最佳答案

仅当您的 lambda 函数是用 Node.js 编写时,才会预安装 Imagemagick。但是你的 lambda 函数是用 Python 编写的。

来自 Lambda support

AWS Lambda supports the following runtime versions:

  • Node.js:v0.10.36
  • Java:Java 8
  • Python:Python 2.7

If you author yourLambda function code in Node.js, the following libraries are availablein the AWS Lambda execution environment so you don't need to includethem:

ImageMagick: Installed with default settings. For versioninginformation, see imagemagick nodejs wrapper and ImageMagick nativebinary (search for "ImageMagick"). AWS SDK: AWS SDK for JavaScriptversion 2.2.12

If you author your Lambda function code in Python, thefollowing libraries are available in the AWS Lambda executionenvironment so you don't need to include them:

AWS SDK for Python (Boto 3) version 1.2.1

There are no additionallibraries available for Java.

关于python - 在 AWS lambda 上将 ImageMagick 作为 python 子进程运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34407771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com