Utilizzo dei risultati impaginati nell' AWS SDK for Ruby - AWS SDK per Ruby

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo dei risultati impaginati nell' AWS SDK for Ruby

Molte AWS operazioni restituiscono risultati troncati quando il payload è troppo grande per essere restituito in un'unica risposta. Il servizio restituisce invece una parte dei dati e un token per recuperare il set successivo di elementi. Questo modello è noto come impaginazione.

Le risposte paginate sono enumerabili

Il modo più semplice per gestire i dati di risposta paginati consiste nell'utilizzare l'enumeratore incorporato nell'oggetto di risposta, come illustrato nell'esempio seguente.

s3 = Aws::S3::Client.new s3.list_objects(bucket:'aws-sdk').each do |response| puts response.contents.map(&:key) end

Ciò produce un oggetto di risposta per ogni chiamata API effettuata ed enumera gli oggetti nel bucket denominato. L'SDK recupera pagine di dati aggiuntive per completare la richiesta.

Gestione manuale delle risposte impaginate

Per gestire autonomamente l'impaginazione, usa il next_page? metodo della risposta per verificare che ci siano altre pagine da recuperare oppure usa il last_page? metodo per verificare che non ci siano altre pagine da recuperare.

Se sono presenti più pagine, utilizzate il metodo next_page (notice there is no?) per recuperare la pagina successiva di risultati, come illustrato nell'esempio seguente.

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 chiami il next_page metodo e non ci sono più pagine da recuperare, l'SDK genera un'eccezione Aws:::: PageableResponse. LastPageError

Classi di dati paginate

I dati paginati nell' AWS SDK for Ruby sono gestiti dalla classe Aws::, inclusa in SeahorsePageableResponse: :Client: :Response per fornire l'accesso ai dati paginati.