В настоящее время я использую последнюю версию (V3) AWS PHP SDK. Я хочу получить все ключи объектов из моего ведра за последние 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
поэтому я полагаю, что могу обрезать дату перед первым дефисом, пройтись по всем ключам и сравнить таким образом, но в идеале я бы не хотел извлекать потенциально тысячи объектов и делать это после поиска.
Есть идеи?
Задача ещё не решена.
Других решений пока нет …