

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Paginierung
<a name="pagination"></a>

Viele AWS Operationen geben paginierte Ergebnisse zurück, wenn die Nutzlast zu groß ist, um sie in einer einzigen Antwort zurückzugeben. AWS SDK für Kotlin Dazu gehören [Erweiterungen](https://kotlinlang.org/docs/extensions.html) der Service-Client-Schnittstelle, die die Ergebnisse auto für Sie paginieren. Sie müssen nur den Code schreiben, der die Ergebnisse verarbeitet.

Die Paginierung wird als [Flow bereitgestellt](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/)<T>, sodass Sie die idiomatischen Transformationen von Kotlin für asynchrone Sammlungen (wie`map`, und) nutzen können. `filter` `take` Ausnahmen sind transparent, sodass sich die Fehlerbehandlung wie ein regulärer API-Aufruf anfühlt, und die Stornierung entspricht der allgemeinen kooperativen Annullierung von Coroutinen. Weitere Informationen finden Sie im offiziellen [Leitfaden unter Abläufe](https://kotlinlang.org/docs/flow.html) und [Flow-Ausnahmen](https://kotlinlang.org/docs/flow.html#flow-exceptions).

**Anmerkung**  
In den folgenden Beispielen wird Amazon S3 verwendet. Die Konzepte sind jedoch für jeden Service identisch, der über einen oder mehrere Seiten verfügt. APIs Alle Paginierungserweiterungen sind im `aws.sdk.kotlin.services.<service>.paginators` Paket definiert (z. B.`aws.sdk.kotlin.services.dynamodb.paginators`). 

Das folgende Codebeispiel zeigt, wie Sie die paginierte Antwort aus dem Funktionsaufruf [ListObjectsV2Paginated](https://docs.aws.amazon.com/sdk-for-kotlin/api/latest/s3/aws.sdk.kotlin.services.s3.paginators/list-objects-v2-paginated.html) verarbeiten können. 

**Importe**

```
import aws.sdk.kotlin.services.s3.S3Client
import aws.sdk.kotlin.services.s3.paginators.listObjectsV2Paginated
import kotlinx.coroutines.flow.*
```

**Code**

```
val s3 = S3Client.fromEnvironment()
val req = ListObjectsV2Request {
    bucket = "amzn-s3-demo-bucket"
    maxKeys = 1
}

s3.listObjectsV2Paginated(req)  // Flow<ListObjectsV2Response>
    .transform { it.contents?.forEach { obj -> emit(obj) } }
    .collect { obj ->
        println("key: ${obj.key}; size: ${obj.size}")
    }
```