Moi*_*sés 5 amazon-s3 aws-php-sdk
在我目前的项目中,我需要每4秒检查一次S3存储桶内容以获取新文件.
每次使用该服务时,此脚本将运行大约3个小时,并且在一个前缀的末尾将有大约2700个文件.
这是我列出这些文件的功能:
public function listFiles($s3Prefix, $limit, $get_after = ''){
$command = $this->s3Client->getCommand('ListObjects');
$command['Bucket'] = $this->s3_bucket;
$command['Prefix'] = $s3Prefix;
$command['MaxKeys'] = $limit;
$command['Marker'] = $s3Prefix.'/'.$get_after;
//command['Query'] = 'sort_by(Contents,&LastModified)';
$ret_s3 = $this->s3Client->execute($command);
$ret['truncated'] = $ret_s3['IsTruncated'];
$ret['files'] = $ret_s3['Contents'];
return $ret;
}// listFiles
Run Code Online (Sandbox Code Playgroud)
我需要的是获取文件,按LastModified字段排序,所以我不需要获取超过2k的文件.是否有额外的参数,如
command['Query'] = 'sort_by(Contents,&LastModified)';
Run Code Online (Sandbox Code Playgroud)
在php API中添加?
----------已编辑------------
正如Abhishek Meena回答的那样,在shell中可以使用
aws s3api list-objects --bucket "bucket-name" --prefix "some-prefix" --query "Contents[?LastModified>=\`2017-03-08\`]"
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是如何在PHP中实现它.
PHP API: https://github.com/aws/aws-sdk-php
| 归档时间: |
|
| 查看次数: |
609 次 |
| 最近记录: |