获取S3存储桶中的最新文件

时间:2016-05-29 16:29:04

标签: php amazon-web-services amazon-s3

我想仅从S3 Bucket中获取之前未提取的文件。我还需要他们的文件名,所以我知道在每次迭代中要处理哪些文件。

我已经决定现在不想实现队列侦听器,因此使用通知并不是我想要的。

我考虑过使用downloadBucket api并启用“debug”,然后解析结果以查找下载的文件。

有没有人知道更好的方法,或者打开调试会影响性能?

我正在使用laravel / php来实现它。

1 个答案:

答案 0 :(得分:0)

S3在list_objects中没有过滤器功能。因此,您可以做的最好的事情是将处理过的文件移动到新的存储桶或前缀。所以你不必担心哪个键被“处理”了。

因此你可以这样做(算法,而不是代码)

- store new_key to new/ folder
  - select everything in new/ prefix
    - process each key
    - copy key to proceesed/ prefix 
    - delete key in new/ prefix 

注意:每1000次PUT / COPY / POST / LIST每次售价0.005美分。所以谨慎使用它。