

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 分页
<a name="feature-pagination"></a>

许多 AWS 服务操作返回的结果可能多于单个响应所能返回的结果。发生这种情况时，响应中会包含一个分页标记，表示有更多结果可用。要检索下一页的结果，请在后续请求中包含该令牌。重复此过程，直到没有返回任何令牌，表示您已收到所有结果。

## 分页的工作原理
<a name="pagination-how-it-works"></a>

当您调用分页的 API 操作时，该服务会返回每个响应的固定最大项目数。如果项目总数超过此最大值，则该服务会在响应中包含分页令牌。此令牌的具体名称因服务而异，常用名称包括`NextToken`、`Marker``ContinuationToken`、和。`ExclusiveStartKey`要请求下一页，请在下次调用的相应请求参数中传递此令牌值。

大多数分页操作还支持控制每页返回的最大项目数的参数。此参数的常用名称包括`MaxResults``MaxItems`、`MaxKeys`、`MaxRecords`、和`Limit`。

只有当您在同一操作的先前响应中收到分页令牌时，分页令牌才有效。如果响应中不包含标记，则没有其他结果可供检索。

## 使用分页器
<a name="pagination-paginators"></a>

所有 AWS SDK 都提供分页器抽象，而不是手动跟踪*分页*标记。分页器会自动处理令牌管理，连续调用 API 并生成结果，直到所有页面都被检索完为止。使用分页器可以简化代码并降低出现错误的风险，例如忘记传递令牌或错误使用令牌。

各个 SDK 中分页器的主要特征：
+ 分页器接受与底层 API 操作相同的输入参数。
+ 分页器会自动检测何时有更多页面可用并进行检索。
+ 当响应中未返回任何分页令牌时，分页器会停止发出请求。
+ 一些软件开发工具包还提供了限制检索到的页面或项目总数的机制。

有关您的语言中可用的分页器语法和使用模式，请参阅您的特定 SDK 开发者指南。

## Support by AWS SDK 和工具
<a name="pagination-sdk-compat"></a>

以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。 适用于 Java 的 AWS SDK 和 适用于 Kotlin 的 AWS SDK 唯一支持任何 JVM 系统属性设置。


| SDK | 支持 | 备注或更多信息 | 
| --- | --- | --- | 
| [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/) v2 | 是 | Built-in 所有命令的自动分页。用于--no-paginate禁用。 | 
| [适用于 C\+\+ 的 SDK](https://docs.aws.amazon.com/sdk-for-cpp/latest/developer-guide/) | 否 | 需要手动处理令牌。 | 
| [适用于 Go V2 (1.x) 的 SDK](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/) | 是 | 使用New<OperationName>Paginator类型。 | 
| [适用于 Go 1.x（V1）的 SDK](https://docs.aws.amazon.com/sdk-for-go/latest/developer-guide/) | 是 | 使用<OperationName>Pages方法。 | 
| [适用于 Java 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/) | 是 | 在客户端上使用<operationName>Paginator方法。 | 
| [适用于 Java 1.x 的 SDK](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/) | 是 |  | 
| [适用于 JavaScript 3.x 的软件开发工具包](https://docs.aws.amazon.com/sdk-for-javascript/latest/developer-guide/) | 是 | 使用paginate<OperationName>函数。 | 
| [适用于 JavaScript 2.x 的 SDK](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/) | 否 | 需要手动处理令牌。 | 
| [适用于 Kotlin 的 SDK](https://docs.aws.amazon.com/sdk-for-kotlin/latest/developer-guide/) | 是 | 使用<operationName>Paginated扩展函数。 | 
| [适用于.NET 4.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/latest/developer-guide/) | 是 | 使用IPaginator接口。 | 
| [适用于 .NET 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/) | 是 | 使用IPaginator接口。 | 
| [适用于 PHP 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-php/latest/developer-guide/) | 是 | 在客户端getPaginator上使用。 | 
| [适用于 Python (Boto3) 的 SDK](https://docs.aws.amazon.com/boto3/latest/guide/quickstart.html) | 是 | 在客户端get\_paginator上使用。 | 
| [适用于 Ruby 3.x 的 SDK](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/) | 是 | 在支持分页的响应.each上使用。 | 
| [适用于 Rust 的 SDK](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/) | 是 | .into\_paginator()根据要求使用生成器。 | 
| [适用于 Swift 的 SDK](https://docs.aws.amazon.com/sdk-for-swift/latest/developer-guide/) | 是 | 使用PaginatedSequence类型。 | 
| [适用于 PowerShell V5 的工具](https://docs.aws.amazon.com/powershell/latest/userguide/) | 是 | Built-in 自动分页。用于-NoAutoIteration禁用。 | 
| [适用于 PowerShell V4 的工具](https://docs.aws.amazon.com/powershell/v4/userguide/) | 是 |  | 