デフォルトでは、ページング操作は 1 ページの結果のみを返します。ページング操作の完全な結果を取得するには、--pager
オプションを使用してページング結果を集約できます。
フィールドと説明
Alibaba Cloud CLI で --pager
オプションを使用して、ページング操作の配列結果を集約できます。このオプションには、次のフィールドが含まれています。
操作によって返されるフィールド値がデフォルトのフィールド値と異なる場合、解析エラーが発生する可能性があります。データの精度と安定性を確保するために、返されたデータ構造体に基づいてフィールドを手動でマッピングすることをお勧めします。
フィールド | 説明 | デフォルト値 |
PageNumber | 返すページの番号。 |
|
PageSize | 各ページで返すエントリの最大数。 |
|
TotalCount | エントリの総数。 |
|
NextToken | 新しい結果ページを取得するために次のリクエストで使用されるページネーショントークン。 |
|
path | データの JMESPath 配列。 | パスは自動的に識別されます。たとえば、Elastic Compute Service (ECS) の |
シナリオ
一部の操作では、maxResult
パラメーターがサポートされています。これは、クエリごとに返されるエントリの最大数を指定します。想定よりも小さい値を指定すると、リクエスト頻度と処理時間が大幅に増加する可能性があります。クエリ効率を最適化するには、Alibaba Cloud CLI で --pager
オプションを使用する際に、maxResult
に適切な値を指定することをお勧めします。
ECS の
DescribeInstances
操作はページング操作です。デフォルトでは、インスタンスリストの最初のページの結果のみが返されます。aliyun ecs DescribeInstances
サンプルレスポンス (一部):
{ "PageNumber": 1, "TotalCount": 4, "PageSize": 10, "RequestId": "6EA82E70-9750-4A97-A738-E021D8A57F07", "Instances": { "Instance": [ { "InstanceId": "i-m5edv0cqkr9hawls****", "ImageId": "win2012r2_64_dtc_9600_zh-cn_40G_alibase_20190318.vhd", "SerialNumber": "f06857e8-7f3c-443a-9f88-8e84eb51****", "Cpu": 1, "Memory": 2048, "DeviceAvailable": true, "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp1fgviwol82z8ap****" ] } } ] } }
ページング操作の集約を有効にすると、操作から返されたすべてのページのインスタンス情報を一度に取得できます。
aliyun ecs DescribeInstances --pager PageNumber=PageNumber PageSize=PageSize TotalCount=TotalCount path=Instances.Instance
フィールド値がデフォルト値と同じ場合は、フィールドに明示的な値を指定する必要はありません。たとえば、上記のコマンドは次のように簡略化できます。
aliyun ecs DescribeInstances --pager
コマンドを実行すると、集約結果が返されます。次の出力は、結果の一部を示しています。
説明集約されたフィールドのみが返されます。特定のフィールドをフィルタリングする必要がある場合は、JMESPath でフィルタリングパスを集約パスに設定します。詳細については、「パラメーターを抽出して出力を表にする」をご参照ください。
{ "Instances": { "Instance": [ { "InstanceId": "i-m5edv0cqkr9hawls****", "ImageId": "win2012r2_64_dtc_9600_zh-cn_40G_alibase_20190318.vhd", "SerialNumber": "f06857e8-7f3c-443a-9f88-8e84eb51****", "Cpu": 1, "Memory": 2048, "DeviceAvailable": true, "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp1fgviwol82z8ap****" ] } } ] } }