我想仅从S3 Bucket中获取之前未提取的文件。我还需要他们的文件名,所以我知道在每次迭代中要处理哪些文件。
我已经决定现在不想实现队列侦听器,因此使用通知并不是我想要的。
我考虑过使用downloadBucket api并启用“debug”,然后解析结果以查找下载的文件。
有没有人知道更好的方法,或者打开调试会影响性能?
我正在使用laravel / php来实现它。
答案 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美分。所以谨慎使用它。