在特定日期之后从AWS Bucket获取所有对象密钥?

时间:2017-01-23 18:51:28

标签: php amazon-web-services amazon-s3 aws-sdk jmespath

我目前正在使用AWS PHP SDK的最新版本(V3)。我想从最后X天开始从我的桶中获取所有对象键。我试图使用here描述的搜索功能,它使用JMESPath表达式。

This comment似乎很有希望,但是当我尝试以下内容时:

$results = $s3Client->getPaginator('ListObjectsV2', ['Bucket' => 'testbucket', 'Prefix' => 'someprefix']);

foreach ($results->search('Contents[?LastModified>=`2017-01-01`][].{Key: Key}') as $result) { echo $result; }

即使我的对象比这个日期更新,我也什么都没得到。但是,当我尝试时,例如:

foreach ($results->search('Contents[?Size>=`1024`][].{Key: Key}') as $result) { echo $result; }

它似乎有效,我得到了预期的结果。我的密钥是20170120-211752-24-file.csv的一般格式,所以我想我可以在第一个连字符之前删除日期,循环遍历所有密钥,并进行比较,但理想情况下我不想抽取数千个密钥对象并在搜索后执行此操作。

有什么想法吗?

0 个答案:

没有答案