使用阿里雲CLI調用各雲產品的分頁類介面時,預設情況下僅返回第一頁的結果。當需要擷取所有的結果時,您可以使用阿里雲CLI的彙總結果功能。
--pager選項欄位說明
您可以通過使用--pager
選項,對分頁類介面的數組類結果進行彙總。該選項包含以下四個欄位:
欄位名 | 描述 |
PageNumber | 欄位值對應API返回結果中描述列表當前頁碼的欄位,預設值: |
PageSize | 欄位值對應API返回結果中描述每頁返回的最大結果數量的欄位,預設值: |
TotalCount | 欄位值對應API返回結果中描述列表總行數的欄位,預設值: |
path | 由於API返回結果的多樣性,您可以手動指定需要彙總的數群組類型所在的JMESPath路徑。 說明
|
樣本情境
ECS產品的
DescribeInstances
介面是分頁類介面。執行如下命令,預設情況下,該介面僅返回執行個體資訊列表第一頁的結果。aliyun ecs DescribeInstances
系統顯示類似如下輸出(部分截取)。
{ "PageNumber": 1, "TotalCount": 4, "PageSize": 10, "RequestId": "6EA82E70-9750-4A97-A738-E021D8A57F07", "Instances": { "Instance": [ { "ImageId": "win2012r2_64_dtc_9600_zh-cn_40G_alibase_20190318.vhd", "SerialNumber": "f06857e8-7f3c-443a-9f88-8e84eb5163c7", "Cpu": 1, "Memory": 2048, "DeviceAvailable": true, "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp1fgviwol82z8ap348n" ] } } ] } }
樣本命令
執行如下命令,將會返回全部分頁中的執行個體資訊列表。
aliyun ecs DescribeInstances --pager PageNumber=PageNumber PageSize=PageSize TotalCount=TotalCount path=Instances.Instance
由於該介面返回的值都與子欄位的預設值一致,使用
--pager
命令時可省略所有子欄位。簡化格式如下:aliyun ecs DescribeInstances --pager
系統顯示如下彙總結果(部分截取)。
說明彙總之後的輸出,只包含有彙總的欄位。若您使用過濾功能擷取您需要瞭解的欄位,此時過濾欄位的路徑為彙總之後的JMESPath路徑。更多資訊,請參見過濾且表格化輸出結果。
{ "Instances": { "Instance": [ { "ImageId": "win2012r2_64_dtc_9600_zh-cn_40G_alibase_20190318.vhd", "SerialNumber": "f06857e8-7f3c-443a-9f88-8e84eb5163c7", "Cpu": 1, "Memory": 2048, "DeviceAvailable": true, "SecurityGroupIds": { "SecurityGroupId": [ "sg-bp1fgviwol82z8ap348n" ] } } ] } }