我在 s3 上有一个包含大量图像(数十万张)的存储桶。每个图像都有一个非常独特的文件名(一个长散列名称),并存储在根据我的数据库中相应对象 ID 命名的子目录中。
一个简化的例子:
/bucket/1/red-1.jpg
/bucket/1/red-2.jpg
/bucket/1/red-3.jpg
/bucket/2/blue-1.jpg
/bucket/2/blue-2.jpg
/bucket/2/blue-3.jpg
现在的问题是,数据库中的 id 已经更改,并且错误地子目录的名称没有。这意味着,根据我的数据库,图像red-1.jpg
应该在/bucket/2
但它实际上仍然驻留在/bucket/1
. 所以我需要能够在所有子目录中搜索,找到名为 的文件red-1.jpg
,并将其移动到正确的目录(在本例中/bucket/2
)。
注意:关于移动文件的部分应该非常简单,最大的问题是到目前为止我如何有效地搜索和找到这些图像的路径,我知道名称,但不知道当前目录。
我在使用红宝石,但我很愿意使用任何东西。
PS。我看到了一些关于亚马逊云搜索的东西,但我不知道这是否可以用于这个..