best/cheapest 在S3上扫描和修改大量文件的方法

best/cheapest way to scan and modify large number of files on S3

我们在我们计划用来存储客户文件的亚马逊 S3 实例上设置了一个映像 'ThumbNailer'。想法是在为 jpg/png/gif 类型的新文件触发文件创建事件时创建 150x150 像素的缩略图。它工作正常,但我们随后使用亚马逊雪球将大约 8Tb 的图像传输到 S3。在滚雪球导入之前,我在用于传入客户文件的存储桶上启用了缩略图触发器,但 lambda 脚本 运行ning 比 lambda 环境中 tmp space 的垃圾清理速度更快结果是 lambda 运行 out of tmp space 并且只有前几百(数万)图像 运行 通过缩略图脚本正确。

我认为这可能最终会成为导入的情况,但现在我需要返回浏览这些文件以生成图像的缩略图并将原始图像分辨率(宽度和高度)作为元标记存储在原始图像文件。

我不确定 AWS 云 space 中的哪些内容会产生 'transfer' 费用,哪些不会,我也不确定生成这些缩略图和读取图像的最佳方法是什么决议。我知道有 'tricks' 来读取文件的前几百个字节而不是 t运行 传递整个文件(即从文件头获取图像分辨率)而且我还有一个EC2 实例设置了一个 S3fs 保险丝连接到相应的桶。

生成我的缩略图并存储大量图像的元数据的最简单和最便宜的方法是什么?我不想 运行 跨 EC2 文件系统的脚本只是为了发现它会产生几百美元的 t运行 转账费用!

西南

引自Amazon S3 Pricing:

Transfers between S3 buckets or from Amazon S3 to any service(s) within the same AWS Region are free.

由于您已经有了 lambda,我会考虑 运行将您的缩略图作业作为 Amazon S3 Batch 操作。

我也会 运行 在对大量文件启动作业之前先了解确切的成本。