Skip to content

0.1.1

Compare
Choose a tag to compare
@ajkannan ajkannan released this 28 Dec 15:25

Features

BigQuery

  • Introduce support for Google Cloud BigQuery (#503): create datasets and tables, manage jobs, insert and list table data. See BigQueryExample for a complete example or API Documentation for gcloud-java-bigquery javadoc.

    import com.google.gcloud.bigquery.BaseTableInfo;
    import com.google.gcloud.bigquery.BigQuery;
    import com.google.gcloud.bigquery.BigQueryOptions;
    import com.google.gcloud.bigquery.Field;
    import com.google.gcloud.bigquery.JobStatus;
    import com.google.gcloud.bigquery.LoadJobInfo;
    import com.google.gcloud.bigquery.Schema;
    import com.google.gcloud.bigquery.TableId;
    import com.google.gcloud.bigquery.TableInfo;
    
    BigQuery bigquery = BigQueryOptions.defaultInstance().service();
    TableId tableId = TableId.of("dataset", "table");
    BaseTableInfo info = bigquery.getTable(tableId);
    if (info == null) {
      System.out.println("Creating table " + tableId);
      Field integerField = Field.of("fieldName", Field.Type.integer());
      bigquery.create(TableInfo.of(tableId, Schema.of(integerField)));
    } else {
      System.out.println("Loading data into table " + tableId);
      LoadJobInfo loadJob = LoadJobInfo.of(tableId, "gs://bucket/path");
      loadJob = bigquery.create(loadJob);
      while (loadJob.status().state() != JobStatus.State.DONE) {
        Thread.sleep(1000L);
        loadJob = bigquery.getJob(loadJob.jobId());
      }
      if (loadJob.status().error() != null) {
        System.out.println("Job completed with errors");
      } else {
        System.out.println("Job succeeded");
      }
    }

Resource Manager

  • Introduce support for Google Cloud Resource Manager (#495): get a list of all projects associated with an account, create/update/delete projects, undelete projects that you don't want to delete. See ResourceManagerExample for a complete example or API Documentation for gcloud-java-resourcemanager javadoc.

    import com.google.gcloud.resourcemanager.ProjectInfo;
    import com.google.gcloud.resourcemanager.ResourceManager;
    import com.google.gcloud.resourcemanager.ResourceManagerOptions;
    
    import java.util.Iterator;
    
    ResourceManager resourceManager = ResourceManagerOptions.defaultInstance().service();
    // Replace "some-project-id" with an existing project's ID
    ProjectInfo myProject = resourceManager.get("some-project-id");
    ProjectInfo newProjectInfo = resourceManager.replace(myProject.toBuilder()
        .addLabel("launch-status", "in-development").build());
    System.out.println("Updated the labels of project " + newProjectInfo.projectId()
        + " to be " + newProjectInfo.labels());
    // List all the projects you have permission to view.
    Iterator<ProjectInfo> projectIterator = resourceManager.list().iterateAll();
    System.out.println("Projects I can view:");
    while (projectIterator.hasNext()) {
      System.out.println(projectIterator.next().projectId());
    }

Storage

  • Remove the RemoteGcsHelper.create(String, String) method (#494)

Fixes

Datastore

  • HTTP Transport is now specified in DefaultDatastoreRpc (#448)