0

我在 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。我看到了一些关于亚马逊云搜索的东西,但我不知道这是否可以用于这个..

4

1 回答 1

1

没有简单的方法可以仅列出具有特定后缀的键。

您应该使用该方法遍历所有常见前缀(文件夹),list_objects以查找与您正在查找的文件名对应的对象。

于 2012-12-05T07:36:10.547 回答