#google-cloud-platform
#google-облачная платформа
Вопрос:
Мне нужно перечислить все регионы, где доступна данная услуга, я обнаружил, что billing API может предоставить мне эту информацию, и решил попробовать.
Проблема в том, что когда я перечисляю регионы обслуживания, он возвращает мне также результаты предыдущих запросов, мне интересно, может ли это быть основано на RPC, и это не очищает кэш, или есть какой-то способ получить правильный результат.
Далее следует код.
public class CloudbillingBuilder{
public static Cloudbilling createCloudbillingService()
throws IOException, GeneralSecurityException {
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
// TODO: Verify Credentials using files/env vars
GoogleCredential credential = GoogleCredential.getApplicationDefault();
if (credential.createScopedRequired()) {
credential =
credential.createScoped(Arrays.asList("https://www.googleapis.com/auth/cloud-platform"));
}
Cloudbilling cloudbillingService = new Cloudbilling.Builder(httpTransport, jsonFactory, credential)
.setApplicationName("Google Cloud Platform le")
.build();
return cloudbillingService;
}
}
public class ServiceAvailabilityChecker{
// private String sku;
private String serviceName;
// private ListSkusResponse listSkus;
private java.util.List<Sku> listSkus;
public ServiceAvailabilityChecker(String skuCode)
throws IOException, GeneralSecurityException {
// this.sku = sku;
Cloudbilling cloudbillingService = CloudbillingBuilder.createCloudbillingService();
Cloudbilling.Services.Skus skurequest = cloudbillingService.services().skus();
ListSkusResponse response = skurequest.list(skuCode).execute();
listSkus = response.getSkus();
}
public List<String> getRegions(){
List<String> response = new ArrayList<String>();
for(Sku sku : listSkus){
// response.add(sku.getServiceRegions());
response.addAll(sku.getServiceRegions());
}
return response;
}
public boolean isAvailable(String region){
for(String str : getRegions()){
System.out.println(str);
}
return false;
}
isAvailable печатает следующее:
asia-east1
asia-northeast1
asia-northeast2
europe-north1
europe-west1
europe-west4
us-central1
us-east1
us-east4
us-west1
asia-east2
asia-south1
asia-southeast1
australia-southeast1
europe-west2
europe-west3
europe-west6
southamerica-east1
northamerica-northeast1
us-west2
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
global
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-southeast1
asia-southeast2
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
global
southamerica-east1
asia-east1
asia-northeast1
asia-northeast2
europe-north1
europe-west1
europe-west4
us-central1
us-east1
us-east4
us-west1
global
asia-east2
asia-south1
asia-southeast1
australia-southeast1
europe-west2
europe-west3
europe-west6
southamerica-east1
northamerica-northeast1
us-west2
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-southeast1
asia-southeast2
global
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-southeast1
asia-southeast2
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
northamerica-northeast1
us-central1
us-east1
us-east4
us-west1
us-west2
us-west3
us-west4
global
northamerica-northeast1
us-central1
us-east1
us-east4
us-west1
us-west2
us-west3
us-west4
global
global
northamerica-northeast1
us-central1
us-east1
us-east4
us-west1
us-west2
us-west3
us-west4
australia-southeast1
Комментарии:
1. Можете ли вы распечатать артикул в дополнение к списку регионов? Не уверен, что это проблема
2. @guillaumeblaquiere Вы можете, но я заметил, что я неправильно интерпретировал все это, когда я распечатываю SKU от родительского элемента, в него вложено множество других SKU. Например, если я распечатаю артикул GKE, в нем также будут региональные, зональные службы и службы Anthos GKE, которые имеют разные зоны доступности. Таким образом, он ничего не обналичивал, он правильно отвечал, но со всеми вложенными братьями и сестрами данного сервиса. Так что это действительно не было проблемой.