我目前正在使用 AWS PHP SDK 的最新版本 (V3)。我想从最近 X 天的存储桶中获取所有对象键。我正在尝试使用此处描述的搜索功能,它使用 JMESPath 表达式。
这条评论似乎很有希望,但是当我尝试以下操作时:
$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
,所以我想我可以去掉第一个连字符之前的日期,循环遍历所有键,然后比较,但理想情况下我不想拉潜在的数千个对象并在之后这样做搜索。
有任何想法吗?