【发布时间】:2022-02-08 09:57:44
【问题描述】:
我有一个客户希望将其网站的图像文件(存储在 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 分钟以上。转换已经存在的图像有什么好方法?
【问题讨论】:
-
您也许可以使用 bash,但是使用 bash 的自定义 lambda 容器是一个相当不寻常的用例。您需要在部署包中安装某种 webp 库。我希望像这样的 lambda 在 S3 上传时触发,而不是 cron 作业,并且一次转换一个图像。您可以通过运行手动脚本为现有对象运行 lambda 来回填它。
-
发布了一个解决方案,它为您的图像提供了不同的策略,这些图像已经在这里以及新图像,它有帮助吗?
-
是的!绝对给了我一些好的线索。
-
很高兴 :)
标签: amazon-web-services amazon-s3 aws-lambda webp