Estoy tratando de implementar el cliente S3 en PHP que enumera solo 10 archivos a la vez a través de la función de paginación. Para lograr esto, según el documento API, estoy haciendo la siguiente llamada:
$result = $this->s3->getPaginator('ListObjectsV2', [ 'Bucket' => 'my_s3_bucket_name', 'Delimiter' => '/', 'MaxKeys' => 10, 'StartAfter' => urlencode($_SESSION['prev_key']) ]);y usando la expresión JMESPath para extraer el subconjunto de datos que necesito mostrar. Lo anterior parece "funcionar", pero parece recuperar el conjunto JSON con subconjuntos secundarios que contienen 10 archivos cada uno. En otras palabras, si tuviera 26 archivos almacenados en mi cubo, obtendría los 26 archivos en 3 subconjuntos de matriz, todo en una sola solicitud. Obviamente, S3 existe desde hace mucho tiempo y estoy seguro de que hay una mejor práctica para lo que estoy tratando de lograr. Sin embargo, he buscado durante los últimos días sin éxito. Si alguien pudiera indicarme la dirección correcta, pls...
El objetivo del paginador es obtener todo: hacer la paginación necesaria para obtener el resultado completo.
Y como lo estás usando, se haría en conjuntos de 10.
Si desea realizar una solicitud específica, como la que muestra aquí, no use el paginador, solo use ListObjectsV2 directamente.
Además, dudo que sea apropiado o necesario urlencode() la clave anterior. El SDK debería hacerlo por usted si es necesario.