Usando resultados paginados no AWS SDK for Ruby - AWS SDK para Ruby

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á.

Usando resultados paginados no AWS SDK for Ruby

Muitas AWS operações 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 next_page método e não houver mais páginas para recuperar, o SDK gerará uma exceção Aws:::PageableResponse:. LastPageError

Classes de dados paginadas

Os dados paginados no AWS SDK for Ruby são tratados pela classe Aws::, incluída no SeahorsePageableResponse: :Client: :Response para fornecer acesso aos dados paginados.