De acordo com https://stackoverflow.com/a/65675842/569976 , você pode usar o cliente AWS S3 CLI para classificar os resultados de a list-objects-v2
pela data da última modificação, da seguinte forma:
aws s3api list-objects --bucket bucketname --query 'sort_by(Contents, &LastModified)[-1].Key' --output text
Minha pergunta é... como você faz isso com o cliente PHP / Aws\S3\S3Client::listObjects
?
https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#listobjects menciona um monte de opções que você pode passar para ele e nenhuma delas é "consulta":
$result = $client->listObjects([
'Bucket' => '<string>', // REQUIRED
'Delimiter' => '<string>',
'EncodingType' => 'url',
'ExpectedBucketOwner' => '<string>',
'Marker' => '<string>',
'MaxKeys' => <integer>,
'OptionalObjectAttributes' => ['<string>', ...],
'Prefix' => '<string>',
'RequestPayer' => 'requester',
]);
Simplesmente não é possível com o cliente PHP API?
--query
é um parâmetro do lado do cliente compatível com AWS CLI. Não faz parte da API.Você precisará classificar os resultados em seu código PHP.
Este parâmetro usa JMESPath como linguagem de script para modificar os resultados de saída. Se quiser imitar completamente seu comportamento, você pode usar uma biblioteca JMESPath como esta .