Java tutorial
/** * Copyright (c) 2015 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ // [START all] import com.google.api.client.googleapis.auth.oauth2.GoogleCredential; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.jackson2.JacksonFactory; import com.google.api.services.cloudmonitoring.CloudMonitoring; import com.google.api.services.cloudmonitoring.CloudMonitoringScopes; import java.io.IOException; import java.security.GeneralSecurityException; /** * Simple command-line program to demonstrate connecting to and retrieving data * from the Google Cloud Monitoring API using application default credentials. * Please see README.md on instructions to run. */ public final class CloudMonitoringAuthSample { /** * The metric that we want to fetch. */ private static final String METRIC = "compute.googleapis.com/instance/disk/read_ops_count"; /** * The end of the time interval to fetch. */ private static final String YOUNGEST = "2015-01-01T00:00:00Z"; /** * Utility class doesn't need to be instantiated. */ private CloudMonitoringAuthSample() { } /** * Builds and returns a CloudMonitoring service object authorized with the * application default credentials. * * @return CloudMonitoring service object that is ready to make requests. * @throws GeneralSecurityException if authentication fails. * @throws IOException if authentication fails. */ private static CloudMonitoring authenticate() throws GeneralSecurityException, IOException { // Grab the Application Default Credentials from the environment. GoogleCredential credential = GoogleCredential.getApplicationDefault() .createScoped(CloudMonitoringScopes.all()); // Create and return the CloudMonitoring service object HttpTransport httpTransport = new NetHttpTransport(); JsonFactory jsonFactory = new JacksonFactory(); CloudMonitoring service = new CloudMonitoring.Builder(httpTransport, jsonFactory, credential) .setApplicationName("Demo").build(); return service; } /** * Query the Google Cloud Monitoring API using a service account and print the * result to the console. * * @param args The first arg should be the project name you'd like to inspect. * @throws Exception if something goes wrong. */ public static void main(final String[] args) throws Exception { if (args.length != 1) { System.err.println( String.format("Usage: %s <project-name>", CloudMonitoringAuthSample.class.getSimpleName())); return; } String project = args[0]; // Create an authorized API client CloudMonitoring cloudmonitoring = authenticate(); CloudMonitoring.Timeseries.List timeseriesListRequest = cloudmonitoring.timeseries().list(project, METRIC, YOUNGEST); System.out.println("Timeseries.list raw response:"); System.out.println(timeseriesListRequest.execute().toPrettyString()); } } // [END all]