

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menggunakan hasil paginasi di AWS SDK untuk Rust
<a name="paginating"></a>

Banyak AWS operasi mengembalikan hasil terpotong ketika muatan terlalu besar untuk dikembalikan dalam satu respons. Sebagai gantinya, layanan mengembalikan sebagian data dan token untuk mengambil set item berikutnya. Pola ini dikenal sebagai pagination. 

 AWS SDK for Rust Termasuk metode ekstensi `into_paginator` pada pembuat operasi yang dapat digunakan untuk memberi halaman hasil secara otomatis untuk Anda. Anda hanya perlu menulis kode yang memproses hasilnya. Semua pembuat operasi pagination memiliki `into_paginator()` metode yang tersedia yang mengekspos a [https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.PaginationStream.html](https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.PaginationStream.html)to paginate atas hasil.
+ Di Amazon S3, salah satu contohnya adalah. [https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/operation/list_objects_v2/builders/struct.ListObjectsV2FluentBuilder.html#method.into_paginator](https://docs.rs/aws-sdk-s3/latest/aws_sdk_s3/operation/list_objects_v2/builders/struct.ListObjectsV2FluentBuilder.html#method.into_paginator) 

Contoh berikut menggunakan Amazon Simple Storage Service. Namun, konsepnya sama untuk layanan apa pun yang memiliki satu atau lebih paginasi APIs. 

 Contoh kode berikut menunjukkan contoh paling sederhana yang menggunakan [https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.PaginationStream.html#method.try_collect](https://docs.rs/aws-smithy-async/latest/aws_smithy_async/future/pagination_stream/struct.PaginationStream.html#method.try_collect)metode untuk mengumpulkan semua hasil paginasi menjadi`Vec`: 

```
let config = aws_config::defaults(BehaviorVersion::latest())
    .load()
    .await;

let s3 = aws_sdk_s3::Client::new(&config);

let all_objects = s3.list_objects_v2()
    .bucket("my-bucket")
    .into_paginator()
    .send()
    .try_collect()
    .await?
    .into_iter()
    .flat_map(|o| o.contents.unwrap_or_default())
    .collect::<Vec<_>>();
```

Terkadang, Anda ingin memiliki kontrol lebih besar atas paging dan tidak menarik semuanya ke dalam memori sekaligus. Contoh berikut mengulangi objek dalam bucket Amazon S3 hingga tidak ada lagi.

```
let config = aws_config::defaults(BehaviorVersion::latest())
    .load()
    .await;

let s3 = aws_sdk_s3::Client::new(&config);

let mut paginator = s3.list_objects_v2()
    .bucket("my-bucket")
    .into_paginator()
    // customize the page size (max results per/response)
    .page_size(10)
    .send();

println!("Objects in bucket:");

while let Some(result) = paginator.next().await {
    let resp = result?;
    for obj in resp.contents() {
        println!("\t{:?}", obj);
    }
}
```