View a markdown version of this page

分頁 - AWS SDKs和工具

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

分頁

許多 AWS 服務操作可以傳回比單一回應更多的結果。發生這種情況時,回應會包含分頁字符,指出有更多結果可用。若要擷取結果的下一頁,請在後續請求中包含該字符。此程序會重複執行,直到沒有傳回字符為止,表示您已收到所有結果。

分頁的運作方式

當您呼叫分頁 API 操作時,服務會傳回每個回應的固定項目數量上限。如果項目總數超過此上限,服務會在回應中包含分頁字符。此字符的特定名稱會因服務而異,常見名稱包括 NextTokenContinuationTokenMarkerExclusiveStartKey。若要請求下一頁,請在下一次呼叫的對應請求參數中傳遞此字符值。

大多數分頁操作也支援控制每個頁面傳回項目數量上限的參數。此參數的一般名稱包括 MaxResultsMaxItemsMaxRecordsMaxKeysLimit

只有在您在相同操作的先前回應中收到分頁權杖時,分頁權杖才有效。如果回應不包含字符,則沒有更多結果可擷取。

使用分頁程式

AWS SDKs 提供分頁器抽象,而不是手動追蹤分頁字符。分頁程式會自動處理字符管理,連續進行 API 呼叫並產生結果,直到擷取所有頁面為止。使用分頁程式可簡化您的程式碼,並降低錯誤的風險,例如忘記傳遞字符或不正確地使用字符。

跨 SDKs 分頁程式的主要特性:

  • 分頁程式接受與基礎 API 操作相同的輸入參數。

  • 分頁程式會自動偵測何時有更多可用的頁面並加以擷取。

  • 當回應中未傳回分頁字符時,分頁程式會停止發出請求。

  • 某些 SDKs 還提供機制來限制擷取的頁面或項目總數。

如需您語言中可用的分頁器語法和使用模式,請參閱特定 SDK 的開發人員指南。

支援 AWS SDKs和工具

下列 SDKs 支援本主題中所述的功能和設定。會記下任何部分例外狀況。 適用於 Java 的 AWS SDK 和 AWS SDK for Kotlin 僅支援任何 JVM 系統屬性設定。

SDK 支援 備註或更多資訊
AWS CLI   v2 所有命令的內建自動分頁。使用 --no-paginate 來停用 。
適用於 C++ 的 SDK 需要手動權杖處理。
適用於 Go V2 的 SDK (1.x) 使用 New<OperationName>Paginator 類型。
適用於 Go 的 SDK 1.x (V1) 使用 <OperationName>Pages 方法。
適用於 Java 的 SDK 2.x 在用戶端上使用 <operationName>Paginator 方法。
適用於 Java 的 SDK 1.x
適用於 JavaScript 3.x 的 SDK 使用 paginate<OperationName> 函數。
適用於 JavaScript 2.x 的 SDK 需要手動權杖處理。
適用於 Kotlin 的 SDK 使用<operationName>Paginated延伸函數。
適用於 .NET 4.x 的 SDK 使用IPaginator界面。
適用於 .NET 3.x 的 SDK 使用IPaginator界面。
適用於 PHP 的 SDK 3.x 在用戶端getPaginator上使用 。
適用於 Python 的 SDK (Boto3) 在用戶端get_paginator上使用 。
適用於 Ruby 的 SDK 3.x 在支援分頁的回應.each上使用 。
適用於 Rust 的 SDK 在請求建置器.into_paginator()上使用 。
適用於 Swift 的 SDK 使用 PaginatedSequence 類型。
PowerShell V5 的工具 內建自動分頁。使用 -NoAutoIteration來停用 。
PowerShell V4 的工具