【发布时间】:2019-08-29 03:27:36
【问题描述】:
我们在我们的亚马逊 S3 实例上设置了一个图像“ThumbNailer”,我们计划用它来存储客户文件。这个想法是每当为 jpg/png/gif 类型的新文件触发文件创建事件时创建 150x150 像素的缩略图。它运行良好,但我们随后使用亚马逊雪球将大约 8Tb 的图像传输到 S3。我在雪球导入之前启用了要用于传入客户文件的存储桶上的缩略图触发器,但是 lambda 脚本的运行速度比 lambda 环境中 tmp 空间的垃圾清理速度更快,结果是 lambda 用完了tmp 空间,并且只有前几百(数万)图像正确地通过了缩略图脚本。
我认为这最终可能是导入时的情况,但现在我需要返回这些文件以生成图像的缩略图并将原始图像分辨率(宽度和高度)作为元标记存储在原始文件中图片文件。
我不确定 AWS 云空间内哪些会产生“传输”费用,哪些不会,我也不确定生成这些缩略图和读取图像分辨率的最佳方法是什么。我知道有一些“技巧”可以读取文件的前几百个字节,而不是传输整个文件(即从文件头获取图像分辨率),而且我还设置了一个带有 S3fs 保险丝的 EC2 实例连接到各个存储桶。
生成缩略图并为大量图像存储元数据的最简单、最便宜的方法是什么?我不想在 EC2 文件系统上运行一个脚本,却发现它会产生几百美元的转账费用!
SW
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 metadata thumbnails