でのページ分割オプションの使用 AWS CLI - AWS Command Line Interface

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

でのページ分割オプションの使用 AWS CLI

このトピックでは、 AWS CLIからの出力をページネーションするためのさまざまな方法を示します。

AWS CLIからページネーションを制御する方法は主に 2 つあります。

サーバー側のページ分割パラメータが最初に処理され、出力がクライアント側のページ分割に送信されます。

サーバー側のページ分割

項目の大きなリストを返すことができるコマンドの場合、 AWS Command Line Interface (AWS CLI) には、 がサービスの API を AWS CLI 呼び出してリストに入力するときに出力に含まれる項目の数を制御するための複数のオプションがあります。

オプションは以下のとおりです。

デフォルトでは、 は個々のサービスによって決定されるページサイズ AWS CLI を使用し、使用可能なすべての項目を取得します。例えば、Amazon S3 では、デフォルトのページサイズは 1,000 です。3,500 のオブジェクトを含む Amazon S3 バケットで aws s3api list-objects を実行すると、 AWS CLI は Simple Storage Service (Amazon S3) に対して 4 つの呼び出しを自動的に実行し、サービス固有の分割ロジックをバックグラウンドで処理して、最終的な出力で 3,500 オブジェクトのすべてを返します。

--no-paginate パラメータの使用方法

--no-paginate オプションでは、クライアント側で分割トークンの追従を無効にします。コマンドを使用する場合、デフォルトで、 はページ分割を作成するために可能なすべての結果を返すために AWS CLI 、自動的に複数の呼び出しを行います。ページごとに 1 回の呼び出し。ページ分割を無効にすると、コマンド結果の最初のページに対して 1 回 AWS CLI だけ呼び出しが行われます。

例えば、3,500 個のオブジェクトを含む Amazon S3 バケットaws s3api list-objectsで を実行する場合、 は Amazon S3 への最初の呼び出し AWS CLI のみを行い、最終出力の最初の 1,000 個のオブジェクトのみを返します。

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --no-paginate { "Contents": [ ...

--page-size パラメータの使用方法

大量のリソースに対してリストコマンドを実行しているときに問題が発生する場合は、デフォルトのページサイズが大きすぎる可能性があります。これにより、 AWS サービスへの呼び出しが最大許容時間を超え、「タイムアウト」エラーが発生する可能性があります。--page-size オプションを使用して、 AWS サービスへの各呼び出しから、より少数の項目を AWS CLI リクエストするように指定できます。 AWS CLI は引き続き完全なリストを取得しますが、バックグラウンドでより多くのサービスAPI呼び出しを実行し、呼び出しごとに少数の項目を取得します。このため、個々の呼び出しがタイムアウトにならずに成功する可能性が高くなります。ページサイズを変更しても出力には影響しません。出力の生成に必要なAPI呼び出しの数にのみ影響します。

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --page-size 100 { "Contents": [ ...

--max-items パラメータの使用方法

AWS CLI 一度に出力に含める項目を減らすには、 --max-itemsオプションを使用します。は、前述のように サービスのページ分割 AWS CLI を引き続き処理しますが、指定した一度に出力される項目の数のみを指定します。

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --max-items 100 { "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==", "Contents": [ ...

--starting-token パラメータの使用方法

出力される項目の数 (--max-items) が基盤となるAPI呼び出しによって返される項目の合計数よりも少ないNextToken場合、出力には、次の項目セットを取得するために後続のコマンドに渡すことができる が含まれます。次の例は、前の例で返された NextToken 値を使用して、2 番目の 100 項目を取得する方法を示しています。

注記

パラメータ --starting-token を null または空にすることはできません。前のコマンドが NextToken 値を返さない場合、返す項目はこれ以上存在せず、このコマンドを再度呼び出す必要はありません。

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --max-items 100 \ --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ== { "Contents": [ ...

指定された AWS サービスは、 を呼び出すたびに同じ順序で項目を返さない場合があります。--page-size--max-items に異なる値を指定した場合、項目の不足や重複など、予期しない結果になることがあります。これを防ぐには、--page-size--max-items に同じ数を使用して、 AWS CLI のページ分割と基本のサービスを同期させます。リスト全体を取得し、必要な解析オペレーションをローカルで実行することもできます。

クライアント側のページャー

AWS CLI バージョン 2 では、出力にクライアント側のページャープログラムを使用できます。デフォルトでは、この機能はオペレーティングシステムのデフォルトのページャープログラムを介してすべての出力を返します。

次の方法を優先順に使用して、出力ページャーを指定できます。

  • default または名前付きプロファイルの config ファイルの cli_pager 設定を使用する。

  • AWS_PAGER 環境変数を使用する。

  • PAGER 環境変数を使用する。

次の方法を優先順に使用して、外部ページ分割プログラムのすべての使用を無効にすることができます。

  • --no-cli-pager コマンドラインオプションを使用して 1 回のコマンド使用のページャーを無効にする。

  • cli_pager 設定または AWS_PAGER 変数を空の文字列に設定する。

クライアント側のページャーのトピック:

cli_pager 設定の使用方法

頻繁に利用される構成設定および認証情報を AWS CLIが維持するファイルに保存することができます。名前プロファイルの設定は、default プロファイルの設定よりも優先されます。構成設定の詳細については、「の設定と認証情報ファイルの設定 AWS CLI」を参照してください。

次の例では、デフォルトの出力ページャーを less プログラムに設定します。

[default] cli_pager=less

以下の例では、ページャーの使用を無効にするようにデフォルトを設定します。

[default] cli_pager=

AWS_PAGER 環境変数の設定方法

次の例では、デフォルトの出力ページャーを less プログラムに設定します。環境変数の詳細については、「の環境変数の設定 AWS CLI」を参照してください。

Linux and macOS
$ export AWS_PAGER="less"
Windows
C:\> setx AWS_PAGER "less"

--no-cli-pager オプションの使用方法

1 つのコマンドでのページャーの使用を無効にするには、--no-cli-pager オプションを使用します。コマンドラインオプションの詳細については、「のコマンドラインオプション AWS CLI」を参照してください。

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --no-cli-pager { "Contents": [ ...

ページャーフラグの使用方法

ページ分割プログラムで自動的に使用するフラグを指定できます。フラグは、使用するページ分割プログラムによって異なります。次に示すのは、less および more の一般的なデフォルトの例です。

Linux and macOS

特に指定しない場合、ページャー AWS CLI バージョン 2 はデフォルトで を使用しますlessLESS 環境変数が設定されていない場合、 AWS CLI バージョン 2 は FRXフラグを使用します。フラグは、 AWS CLI ページャーを設定するときに指定することで組み合わせることができます。

次の例では、S フラグを使用しています。このフラグはデフォルトの FRX フラグと組み合わさって、最終的な FRXS フラグを作成します。

$ export AWS_PAGER="less -S"

FRX フラグのいずれも必要ない場合は、これらを無効にすることができます。次の例では、F フラグを無効にして、最終的な RX フラグを作成します。

$ export AWS_PAGER="less -+F"

less フラグの詳細については、mandpages.org の「less」を参照してください。

Windows

特に指定しない場合、ページャー AWS CLI バージョン 2 がデフォルトで使用する にはmore、追加のフラグはありません。

次の例では、/c パラメータを使用しています

C:\> setx AWS_PAGER "more /c"

more フラグの詳細については、Microsoft Docs moreの「」を参照してください。