[英]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.