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á.
Paginação
Algumas chamadas da AWS fornecem respostas paginadas para limitar a quantidade de dados retornados com cada resposta. Uma página de dados representa até 1000 itens.
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.