本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
分頁
許多 AWS 服務操作可以傳回比單一回應更多的結果。發生這種情況時,回應會包含分頁字符,指出有更多結果可用。若要擷取結果的下一頁,請在後續請求中包含該字符。此程序會重複執行,直到沒有傳回字符為止,表示您已收到所有結果。
分頁的運作方式
當您呼叫分頁 API 操作時,服務會傳回每個回應的固定項目數量上限。如果項目總數超過此上限,服務會在回應中包含分頁字符。此字符的特定名稱會因服務而異,常見名稱包括 NextToken、ContinuationToken、 Marker和 ExclusiveStartKey。若要請求下一頁,請在下一次呼叫的對應請求參數中傳遞此字符值。
大多數分頁操作也支援控制每個頁面傳回項目數量上限的參數。此參數的一般名稱包括 MaxResults、MaxItems、MaxRecords、 MaxKeys和 Limit。
只有在您在相同操作的先前回應中收到分頁權杖時,分頁權杖才有效。如果回應不包含字符,則沒有更多結果可擷取。
使用分頁程式
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 的工具 | 是 |