Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bigtable: merge bigtable-admin into the bigtable artifact #4307

Merged
merged 13 commits into from
Jan 10, 2019
Merged
2 changes: 1 addition & 1 deletion .kokoro/continuous/bigtableadmin-it.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ env_vars: {

env_vars: {
key: "INTEGRATION_TEST_ARGS"
value: "google-cloud-clients/google-cloud-bigtable-admin -Dbigtable.project=gcloud-devel -Dbigtable.instance=google-cloud-bigtable"
value: "google-cloud-clients/google-cloud-bigtable -Dbigtable.env=prod -Dbigtable.project=gcloud-devel -Dbigtable.instance=google-cloud-bigtable -Dbigtable.table=integration-tests"
}

env_vars: {
Expand Down
2 changes: 1 addition & 1 deletion .kokoro/nightly/bigtableadmin-it.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ env_vars: {

env_vars: {
key: "INTEGRATION_TEST_ARGS"
value: "google-cloud-clients/google-cloud-bigtable-admin -Dbigtable.project=gcloud-devel -Dbigtable.instance=google-cloud-bigtable"
value: "google-cloud-clients/google-cloud-bigtable -Dbigtable.env=prod -Dbigtable.project=gcloud-devel -Dbigtable.instance=google-cloud-bigtable -Dbigtable.table=integration-tests"
}

env_vars: {
Expand Down
2 changes: 1 addition & 1 deletion .kokoro/presubmit/bigtableadmin-it.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ env_vars: {

env_vars: {
key: "INTEGRATION_TEST_ARGS"
value: "google-cloud-clients/google-cloud-bigtable-admin -Dbigtable.project=gcloud-devel -Dbigtable.instance=google-cloud-bigtable"
value: "google-cloud-clients/google-cloud-bigtable -Dbigtable.env=prod -Dbigtable.project=gcloud-devel -Dbigtable.instance=google-cloud-bigtable -Dbigtable.table=integration-tests"
}

env_vars: {
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ This library supports the following Google Cloud Platform services with clients
This library supports the following Google Cloud Platform services with clients at an [Alpha](#versioning) quality level:

- [Cloud Bigtable](google-cloud-clients/google-cloud-bigtable) (Alpha)
- [Cloud Bigtable Admin](google-cloud-clients/google-cloud-bigtable-admin) (Alpha)
- [Cloud Compute](google-cloud-clients/google-cloud-compute) (Alpha)
- [Cloud Dataproc](google-cloud-clients/google-cloud-dataproc) (Alpha)
- [Cloud DNS](google-cloud-clients/google-cloud-dns) (Alpha)
Expand Down
21 changes: 2 additions & 19 deletions TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,8 @@ To use the `prod` environment:
2. Download the [JSON service account credentials file][create-service-account] from the Google
Developer's Console.
3. Set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` to the path of the credentials file
4. Set the system property `bigtable.env=prod` and `bigtable.table` to the full table name you
created earlier. Example:
4. Set the system property `bigtable.env=prod`, `bigtable.project`, `bigtable.instance` and
`bigtable.table` to created earlier. Example:
```shell
mvn verify -am -pl google-cloud-bigtable \
-Dbigtable.env=prod \
Expand All @@ -66,23 +66,6 @@ To use the `prod` environment:
-Dbigtable.table=my-table
```

### Testing code that uses Bigtable Admin

Bigtable Admin integration tests are run against a real Bigtable instance.

To run the tests:
1. Set up the target table using `google-cloud-bigtable/scripts/setup-test-table.sh`
2. Download the [JSON service account credentials file][create-service-account] from the Google
Developer's Console.
3. Set the environment variable `GOOGLE_APPLICATION_CREDENTIALS` to the path of the credentials file
4. Set the system property `bigtable.instance` to the full instance name you
created earlier. Example:
```shell
mvn verify -am -pl google-cloud-bigtable-admin \
-Dbigtable.project=my-project
-Dbigtable.instance=my-instance
```

### Testing code that uses Compute

Currently, there isn't an emulator for Google Compute, so an alternative is to create a test
Expand Down
133 changes: 2 additions & 131 deletions google-cloud-clients/google-cloud-bigtable-admin/README.md
Original file line number Diff line number Diff line change
@@ -1,133 +1,4 @@
# Google Cloud Java Client for Bigtable Admin

Java idiomatic client for [Cloud Bigtable Admin][cloud-bigtable]. Please note that this client is under
heavy development and is not ready for production use. Please continue to use the
[HBase API client](https://github.com/GoogleCloudPlatform/cloud-bigtable-client) for production.

[![Kokoro CI](http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/master.svg)](http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/master.html)
[![Maven](https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigtable.svg)](https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigtable-admin.svg)
[![Codacy Badge](https://api.codacy.com/project/badge/grade/9da006ad7c3a4fe1abd142e77c003917)](https://www.codacy.com/app/mziccard/google-cloud-java)

- [Product Documentation][bigtable-product-docs]
- [Client Library Documentation][bigtable-admin-client-lib-docs]

> Note: This client is under heavy development and should not be used in production.

## Quickstart

[//]: # ({x-version-update-start:google-cloud-bigtable-admin:released})
If you are using Maven, add this to your pom.xml file
```xml
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-bigtable-admin</artifactId>
<version>0.76.0-alpha</version>
</dependency>
```
If you are using Gradle, add this to your dependencies
```Groovy
compile 'com.google.cloud:google-cloud-bigtable-admin:0.76.0-alpha'
```
If you are using SBT, add this to your dependencies
```Scala
libraryDependencies += "com.google.cloud" % "google-cloud-bigtable-admin" % "0.76.0-alpha"
```
[//]: # ({x-version-update-end})

## Authentication

See the
[Authentication](https://github.com/GoogleCloudPlatform/google-cloud-java#authentication)
section in the base directory's README.

## About Cloud Bigtable Admin

[Cloud Bigtable][cloud-bigtable] is Google's NoSQL Big Data database service. It's
the same database that powers many core Google services, including Search, Analytics, Maps, and
Gmail. The API is split into the data api and the admin api. This client targets the admin api.

Be sure to activate the Cloud Bigtable Admin API on the Developer's Console to use Cloud Bigtable
from your project.

See the [Bigtable Amin client lib docs][bigtable-admin-client-lib-docs] to learn how to
interact with Cloud Bigtable Admin API using this Client Library.

## Getting Started
#### Prerequisites
For this tutorial, you will need a
[Google Developers Console](https://console.developers.google.com/) project with the Cloud Bigtable
API enabled. You will need to
[enable billing](https://support.google.com/cloud/answer/6158867?hl=en) to use Google Cloud Bigtable.
[Follow these instructions](https://cloud.google.com/resource-manager/docs/creating-managing-projects) to get your
project set up. You will also need to set up the local development environment by [installing the
Google Cloud SDK](https://cloud.google.com/sdk/) and running the following commands in command line:
`gcloud auth login`.

#### Calling Cloud Bigtable

The Cloud Bigtable API is split into 2 parts: Data API, Instance Admin API and Table Admin API.

Here is a code snippet showing simple usage of the Table API. Add the following imports
at the top of your file:


```java
import static com.google.cloud.bigtable.admin.v2.models.GCRules.GCRULES;
import com.google.bigtable.admin.v2.InstanceName;
import com.google.cloud.bigtable.admin.v2.BigtableTableAdminClient;
import com.google.cloud.bigtable.admin.v2.models.CreateTableRequest;
import com.google.cloud.bigtable.admin.v2.models.Table;
```

Then, to create a table, use the following code:
```java
InstanceName instanceName = InstanceName.of("my-project", "my-instance");

BigtableTableAdminClient tableAdminClient = BigtableTableAdminClient.create(instanceName);

try {
Table createdTable = tableAdminClient.createTable(
CreateTableRequest.of("my-table")
.addFamily("cf2", GCRULES.maxVersions(10));
} finally {
tableAdminClient.close();
}
```

## Troubleshooting

To get help, follow the instructions in the [shared Troubleshooting
document](https://github.com/googleapis/google-cloud-common/blob/master/troubleshooting/readme.md#troubleshooting).

Transport
---------
Bigtable uses gRPC for the transport layer.

## Java Versions

Java 7 or above is required for using this client.

## Versioning

This library follows [Semantic Versioning](http://semver.org/).

It is currently in major version zero (`0.y.z`), which means that anything may
change at any time and the public API should not be considered stable.

## Contributing

Contributions to this library are always welcome and highly encouraged.

See [CONTRIBUTING] for more information on how to get started and [DEVELOPING] for a layout of the
codebase.

## License

Apache 2.0 - See [LICENSE] for more information.

[CONTRIBUTING]:https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/CONTRIBUTING.md
[LICENSE]: https://github.com/GoogleCloudPlatform/google-cloud-java/blob/master/LICENSE
[cloud-platform]: https://cloud.google.com/
[cloud-bigtable]: https://cloud.google.com/bigtable/
[bigtable-product-docs]: https://cloud.google.com/bigtable/docs/
[bigtable-admin-client-lib-docs]: https://googleapis.github.io/google-cloud-java/google-cloud-clients/apidocs/index.html?com/google/cloud/bigtable/admin/v2/package-summary.html
This project has been merged into google-cloud-bigtable and will soon
be deleted.
111 changes: 1 addition & 110 deletions google-cloud-clients/google-cloud-bigtable-admin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,119 +14,10 @@
<artifactId>google-cloud-clients</artifactId>
<version>0.76.1-alpha-SNAPSHOT</version><!-- {x-version-update:google-cloud-clients:current} -->
</parent>
<properties>
<site.installationModule>google-cloud-bigtable-admin</site.installationModule>
</properties>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>google-cloud-core</artifactId>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>google-cloud-core-grpc</artifactId>
</dependency>
<dependency>
<groupId>com.google.api.grpc</groupId>
<artifactId>proto-google-cloud-bigtable-admin-v2</artifactId>
</dependency>
<dependency>
<groupId>com.google.api.grpc</groupId>
<artifactId>grpc-google-cloud-bigtable-admin-v2</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-auth</artifactId>
</dependency>

<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
<scope>provided</scope>
</dependency>

<!-- Test dependencies -->
<dependency>
<groupId>com.google.api</groupId>
<artifactId>gax</artifactId>
<classifier>testlib</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<scope>test</scope>
</dependency>
<!-- Need testing utility classes for generated gRPC clients tests -->
<dependency>
<groupId>com.google.api</groupId>
<artifactId>gax-grpc</artifactId>
<classifier>testlib</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-testing</artifactId>
<scope>test</scope>
<artifactId>google-cloud-bigtable</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<parallel>classes</parallel>
<perCoreThreadCount>true</perCoreThreadCount>
<threadCount>2</threadCount>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.19.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit4</artifactId>
<version>2.19.1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright 2019 Google LLC
*
* 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
*
* https://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.
*/
package com.google.cloud.bigtable.admin.v2.internal;

/**
* Marker class whose existence can be used to detect uses of the deprecated
* google-cloud-bigtable-admin artifact
*
* <p>This class is considered an internal implementation detail and not meant to be used by
* applications.
*
* @deprecated Please migrate to using the google-cloud-bigtable artifact
*/
@Deprecated
public final class DeprecationMarker {}
27 changes: 0 additions & 27 deletions google-cloud-clients/google-cloud-bigtable-admin/synth.metadata

This file was deleted.

Loading