簡體   English   中英

如何使用 java sdk 獲取所有區域的 GCP 的所有計算磁盤列表

[英]How to get list of all compute disks of GCP for all the regions using java sdk

我可以使用 gcloud 命令獲取磁盤列表

gcloud compute disks list

但我無法使用 java sdk 做同樣的事情。 這是我的示例代碼:

  DiskList execute = compute.disks().list("ProjectID", "us-ZoneId")
                .execute();

在上面的代碼中,它總是期望區域作為輸入參數。 我也使用過“aggregatedList”API,但沒有運氣。

無論如何使用java sdk獲取項目中的所有磁盤?

這是一個對我有用的代碼示例

        DisksClient disksClient = DisksClient.create();
        DisksClient.AggregatedListPagedResponse aggregatedListPagedResponse = disksClient.aggregatedList("ProjectID");
        for (Map.Entry<String, DisksScopedList> entry : aggregatedListPagedResponse.iterateAll()) {
            System.out.println(entry.getKey());
            for (Disk disk:entry.getValue().getDisksList()){
                System.out.println(disk);
            }
        }


編輯 1

要過濾具有任何值的特定標簽(此處為 label test ),您可以這樣做


        DisksClient disksClient = DisksClient.create();
        AggregatedListDisksRequest request = AggregatedListDisksRequest.newBuilder().setFilter("labels.test:*").setProject("ProjectID").build();
        DisksClient.AggregatedListPagedResponse aggregatedListPagedResponse = disksClient.aggregatedList(request);
        for (Map.Entry<String, DisksScopedList> entry : aggregatedListPagedResponse.iterateAll()) {
            System.out.println(entry.getKey());
            for (Disk disk:entry.getValue().getDisksList()){
                System.out.println(disk);
            }
        }


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM