Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de resultados paginados en el AWS SDK para Ruby
Muchas operaciones de AWS devuelven resultados truncados cuando la carga útil es demasiado grande para que se devuelva en una sola respuesta. En su lugar, el servicio devuelve una parte de los datos y un token para recuperar el siguiente conjunto de elementos. Este patrón se conoce como paginación.
Las respuestas paginadas se pueden enumerar
La forma más sencilla de administrar datos de respuesta paginados es usar el enumerador integrado en el objeto de respuesta, como se muestra en el siguiente ejemplo.
s3 = Aws::S3::Client.new s3.list_objects(bucket:'aws-sdk').each do |response| puts response.contents.map(&:key) end
Esto produce un objeto de respuesta por cada llamada realizada a la API y enumera los objetos del bucket designado. El SDK recupera páginas adicionales de datos para completar la solicitud.
Administrar respuestas paginadas manualmente
Si desea controlar la paginación por sí mismo, use el método next_page? de la respuesta para comprobar si hay más páginas que pueden recuperarse o use el método last_page? para verificar que no hay más páginas que puedan recuperarse.
Si hay más páginas, utilice el método next_page (observe que no es ?) para recuperar la siguiente página de resultados, como se muestra en el siguiente ejemplo.
s3 = Aws::S3::Client.new # Get the first page of data response = s3.list_objects(bucket:'aws-sdk') # Get additional pages while response.next_page? do response = response.next_page # Use the response data here... end
nota
Si llama al método next_page y no hay más páginas que puedan recuperarse, el SDK genera una excepción Aws::PageableResponse::LastPageError.
Clases de datos paginados
Los datos paginados en AWS SDK para Ruby se administran a través de la clase Aws::PageableResponse, que se incluye con Seahorse::Client::Response para proporcionar acceso a los datos paginados.