As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar resultados paginados no AWS SDK para Ruby
Muitas operações AWS retornam resultados truncados quando a carga útil é muito grande para ser retornada em uma única resposta. Em vez disso, o serviço retorna uma parte dos dados e um token para recuperar o próximo conjunto de itens. Esse padrão é conhecido como paginação.
As respostas paginadas são enumeráveis
A maneira mais simples de lidar com dados de respostas paginadas é usar o enumerador interno no objeto de resposta, conforme mostrado no exemplo a seguir.
s3 = Aws::S3::Client.new s3.list_objects(bucket:'aws-sdk').each do |response| puts response.contents.map(&:key) end
Isso produz um objeto de resposta por chamada à API feita e enumera objetos no bucket designado. O SDK recupera páginas adicionais de dados para completar a solicitação.
Manipulação manual de respostas paginadas
Para lidar com a paginação por conta própria, use o método next_page? da resposta para verificar se há mais páginas para recuperar ou use o método last_page? para verificar se não há mais páginas para recuperar.
Se houver mais páginas, use o método next_page (observe que não há ?) para recuperar a próxima página de resultados, conforme mostrado no exemplo a seguir.
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
Se você chamar o método next_page e não houver mais páginas para recuperar, o SDK lançará uma exceção Aws::PageableResponse::LastPageError.
Classes de dados paginadas
Os dados paginados no AWS SDK para Ruby são tratados pela classe Aws::PageableResponse, que é incluída com Seahorse::Client::Response para fornecer acesso a dados paginados.