我有一个客户端谁希望他们的网站的图像文件(存储在一个S3桶)转换为WebP。因为他们的客户经常上传图片(而不使用WebP),所以他们希望一些脚本能够定期运行,在桶中搜索未转换的图像文件,并将它们转换为WebP。脚本将检测文件是否存在现存的WebP版本,如果没有,则创建一个;然后,一些服务器端代码将优先加载每个映像的WebP版本(如果可用的话)。
从我的研究来看,AWS调度/cron任务似乎是通过EventBridge使用Lambda函数完成的。
我是否可以使用BASH脚本来完成这个任务,或者是否仅限于支持Lambda函数的语言(.NET、Go、Java、Node.js、Python或Ruby)?
我是否必须在AWS中安装一些东西才能完成WebP处理(以及如何做到这一点)?
此外,Lambda函数最多只能运行15分钟。这可能不会是一个问题,一旦所有的设置,但最初转换的图像已经在桶(容易超过1000)很可能需要超过15分钟。转换已经存在的图像的好方法是什么?
发布于 2022-02-08 01:57:13
,转换已经存在的图像的好方法是什么?
对于已经存在的图像,您可以在spot实例中使用AWS批处理以节省成本。
我可以用BASH脚本来完成这个任务吗?您可以这样做,但为此您需要使用自定义的运行时https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/,或者不同的方法是将bash脚本上传为lambda中的zip并要求lambda执行它。https://stackoverflow.com/a/38337076/13126651
现在的问题是,兰博达什么时候才能跑?如果客户端希望定期运行,则选择event bridge + cron + lambda architecture
,否则执行s3上载触发器以调用lambda https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html
https://stackoverflow.com/questions/71026679
复制相似问题