Fog AWS S3是否需要时间来刷新其文件索引?

时间:2015-02-03 16:55:55

标签: ruby amazon-s3 fog

我在rspec测试中有这个代码:

specify 'Saves files to S3' do
  subject.upload
  expect(connection.directories.get(credentials[:bucket]).files.map(&:key))
    .to include("#{directory}/groucho.jpg")
end

subject.upload将文件添加到S3,expect下拉存储桶中的文件列表,查找刚刚上传的文件的名称。 expect曾经过去(就像两天前一样),但现在却没有。

即使我睡了一会儿,expect也永远不会过去。我不知道发生了什么变化,但我正在寻找一些指导。

1 个答案:

答案 0 :(得分:1)

答案是索引会立即更新。但是,索引的内容是分页的。在我的情况下,更多的文件被添加到存储桶,所以我的文件不再出现在结果的第一页。您可以从S3中对索引进行分页。查看文档。你也可以做更贵的......

file = connection.directories.get(credentials[:bucket]).files.detect { |f| f.key == "#{directory}/sample.txt" }

...一次迭代一个。