AWS cron 作业将 S3 存储桶中的图像转换为 WebP
AWS cron job converting images in S3 bucket to WebP
我有一个客户想要将他们网站的图像文件(存储在 S3 存储桶中)转换为 WebP。由于他们的客户经常上传图像(并且不使用 WebP),他们需要一些脚本 运行 定期在存储桶中搜索未转换的图像文件并将它们转换为 WebP。该脚本将检测是否存在文件的现存 WebP 版本,如果没有,则创建一个;然后,一些服务器端代码会优先加载每个图像的 WebP 版本(如果可用)。
根据我的研究,AWS scheduled/cron 作业似乎是通过 EventBridge 使用 Lambda 函数完成的。
我能否使用 BASH 脚本执行此操作,或者我是否仅限于 Lambda 函数支持的语言(.NET、Go、Java、Node.js、Python, 或 Ruby)?
我是否必须在 AWS 中安装一些东西才能进行 WebP 处理(我该怎么做)?
此外,Lambda 函数最多只能 运行 15 分钟。一旦一切设置完毕,这可能不会成为问题,但是存储桶中已有图像(很容易超过 1000 张)的初始转换可能需要 15 分钟以上的时间。转换已有图像的好方法是什么?
What's a good way to convert the images that are already there?
对于已经存在的图像,您可以使用 AWS batch with spot instances cost-effective.
Can I do this using a BASH script?
you can, but for that you need to use custom runtime https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/ or different approach will be to upload your bash script as a zip inside lambda and ask lambda to execute it.
现在的问题是什么时候应该使用 lambda 运行?
如果客户端想要 运行 定期去 event bridge + cron + lambda architecture
否则去 s3 上传触发器调用 lambda https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html
我有一个客户想要将他们网站的图像文件(存储在 S3 存储桶中)转换为 WebP。由于他们的客户经常上传图像(并且不使用 WebP),他们需要一些脚本 运行 定期在存储桶中搜索未转换的图像文件并将它们转换为 WebP。该脚本将检测是否存在文件的现存 WebP 版本,如果没有,则创建一个;然后,一些服务器端代码会优先加载每个图像的 WebP 版本(如果可用)。
根据我的研究,AWS scheduled/cron 作业似乎是通过 EventBridge 使用 Lambda 函数完成的。
我能否使用 BASH 脚本执行此操作,或者我是否仅限于 Lambda 函数支持的语言(.NET、Go、Java、Node.js、Python, 或 Ruby)?
我是否必须在 AWS 中安装一些东西才能进行 WebP 处理(我该怎么做)?
此外,Lambda 函数最多只能 运行 15 分钟。一旦一切设置完毕,这可能不会成为问题,但是存储桶中已有图像(很容易超过 1000 张)的初始转换可能需要 15 分钟以上的时间。转换已有图像的好方法是什么?
What's a good way to convert the images that are already there?
对于已经存在的图像,您可以使用 AWS batch with spot instances cost-effective.
Can I do this using a BASH script? you can, but for that you need to use custom runtime https://aws.amazon.com/about-aws/whats-new/2018/11/aws-lambda-now-supports-custom-runtimes-and-layers/ or different approach will be to upload your bash script as a zip inside lambda and ask lambda to execute it.
现在的问题是什么时候应该使用 lambda 运行?
如果客户端想要 运行 定期去 event bridge + cron + lambda architecture
否则去 s3 上传触发器调用 lambda https://docs.aws.amazon.com/lambda/latest/dg/with-s3-example.html