Classes
AppProfile
An application profile, or app profile, stores settings that tell your Cloud Bigtable instance how to handle incoming requests from an application. When one of your applications connects to a Cloud Bigtable instance, it can specify an app profile, and Cloud Bigtable uses that app profile for any requests that the application sends over that connection.
App profiles affect how your applications communicate with an instance that uses replication. As a result, app profiles are especially useful for instances that have 2 clusters. Even if your instance has only 1 cluster, you can use a unique app profile for each application that you run, or for different components within a single application. See Also: For more details.
AppProfile.MultiClusterRoutingPolicy
A RoutingPolicy that tells Cloud Bigtable that it can route each request to any available cluster.
AppProfile.SingleClusterRoutingPolicy
A RoutingPolicy that routes all requests to a specific cluster.
Backup
A backup lets you save a copy of a table's schema and data and restore the backup to a new table at a later time.
Cluster
A cluster represents the actual Cloud Bigtable service. Each cluster belongs to a single Cloud Bigtable instance, and an instance can have up to 2 clusters. When your application sends requests to a Cloud Bigtable instance, those requests are actually handled by one of the clusters in the instance.
ClusterAutoscalingConfig
Model class to create an autoscaling config for creating or updating a cluster. When creating this config, min nodes, max nodes, and CPU utilization must all be set.
ColumnFamily
Wrapper for ColumnFamily protocol buffer object
CreateAppProfileRequest
Parameters for creating a new Cloud Bigtable app profile.
An application profile, or app profile, stores settings that tell your Cloud Bigtable instance how to handle incoming requests from an application. When one of your applications connects to a Cloud Bigtable instance, it can specify an app profile, and Cloud Bigtable uses that app profile for any requests that the application sends over that connection.
Sample code:
AppProfile existingAppProfile = ...;
CreateAppProfileRequest appProfileRequest = CreateAppProfileRequest.of("my-instance", "my-new-app-profile")
.setRoutingPolicy(SingleClusterRoutingPolicy.of("my-cluster"));
See Also: AppProfilefor more details
CreateBackupRequest
Fluent wrapper for com.google.bigtable.admin.v2.CreateBackupRequest
CreateClusterRequest
Parameters for creating a new Bigtable cluster.
A cluster represents the actual Cloud Bigtable service. Each cluster belongs to a single Cloud Bigtable instance. When your application sends requests to a Cloud Bigtable instance, those requests are actually handled by one of the clusters in the instance.
Each cluster is located in a single zone. An instance's clusters must be in unique zones that are within the same region. For example, if the first cluster is in us-east1-b, then us-east1-c is a valid zone for the second cluster. For a list of zones and regions where Cloud Bigtable is available, see Cloud Bigtable Locations.
Examples:
// Small production instance:
CreateClusterRequest clusterRequest = CreateClusterRequest.of("my-existing-instance", "my-cluster")
.setZone("us-east1-c")
.setServeNodes(3)
.setStorageType(StorageType.SSD);
See Also: For more details
CreateInstanceRequest
Parameters for creating a new Bigtable Instance.
A Cloud Bigtable instance is mostly just a container for your clusters and nodes, which do all of the real work. Instances come in 2 flavors:
- Production
- A standard instance with either 1 or 2 clusters, as well as 3 or more nodes in each cluster. You cannot downgrade a production instance to a development instance.
- Development
- A low-cost instance for development and testing, with performance limited to the equivalent of a 1-node cluster. Development instances only support a single 1 node cluster. At any point this can be upgraded to a production instance.
When creating an Instance, you must create at least one cluster in it.
Examples:
// Small production instance:
CreateInstanceRequest smallProdInstanceRequest = CreateInstanceRequest.of("my-small-instance")
.addCluster("cluster1", "us-east1-c", 3, StorageType.SSD);
// Development instance:
CreateInstanceRequest smallProdInstanceRequest = CreateInstanceRequest.of("my-dev-instance")
.setType(Type.DEVELOPMENT)
.addDevelopmentCluster("cluster1", "us-east1-c", StorageType.SSD);
See Also: For more details
CreateTableRequest
Fluent wrapper for com.google.bigtable.admin.v2.CreateTableRequest
Allows for creating table with:
- optional columnFamilies, including optional GCRule
- optional granularity
- and optional split points
EncryptionInfo
Encryption information for a given resource.
If this resource is protected with customer managed encryption, the in-use Google Cloud Key Management Service (KMS) key versions will be specified along with their status.
GCRules
Wraps GcRule protocol buffer object and exposes a friendly API.
Note: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family. Please use appropriate filters in your reads to exclude cells which are eligible for garbage collection.
GCRules.DefaultRule
Wrapper for building a empty rule
GCRules.DurationRule
Wrapper for building max duration rule
GCRules.IntersectionRule
Fluent wrapper for Intersection rule. Allows far adding an hierarchy of rules with intersection as the root
GCRules.UnionRule
Fluent wrapper for Union rule. Allows far adding an hierarchy of rules with union as the root
GCRules.VersionRule
Wrapper for building max versions rule
Instance
Represents an existing Cloud Bigtable instance.
A Cloud Bigtable instance is mostly just a container for your clusters and nodes, which do all of the real work.
ModifyColumnFamiliesRequest
Fluent wrapper for com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest
Allows for the following ColumnFamily modifications:
- create family, optionally with GCRule
- update existing family GCRule
- drop an existing family
OptimizeRestoredTableOperationToken
OptimizeRestoredTableOperationToken is a wrapper for the name of OptimizeRestoredTable operation.
RestoreTableRequest
Fluent wrapper for com.google.bigtable.admin.v2.RestoreTableRequest
RestoredTableResult
A RestoredTableResult holds the restored table object and the OptimizeRestoredTableOperationToken object (if any).
StaticClusterSize
Table
Wrapper for Table protocol buffer object
UpdateAppProfileRequest
Parameters for updating an existing Cloud Bigtable app profile.
Examples
AppProfile existingAppProfile = ...;
UpdateAppProfileRequest appProfileRequest = UpdateAppProfileRequest.of(existingAppProfile)
.setRoutingPolicy(SingleClusterRoutingPolicy.of("my-cluster"));
See Also: AppProfilefor more details
UpdateBackupRequest
Fluent wrapper for com.google.bigtable.admin.v2.UpdateBackupRequest
UpdateInstanceRequest
Parameters for updating an existing Bigtable instance.
Existing instances maybe updated to change their superficial appearance (ie. display name) and can also be upgraded from a DEVELOPMENT instance to a PRODUCTION instance. Please note that upgrading to a PRODUCTION instance cannot be undone.
Interfaces
AppProfile.RoutingPolicy
Represents the routing for read/write requests. Please check the implementations of this interface for more details.
GCRules.GCRule
interface for fluent GcRule wrappers
Enums
Backup.State
Cluster.State
EncryptionInfo.Type
Instance.State
Instance.Type
StorageType
Storage media types for persisting Bigtable data.
Table.ReplicationState
Exceptions
PartialListClustersException
Exception thrown when some zones are unavailable and listClusters is unable to return a full cluster list. This exception can be inspected to get a partial list.
PartialListInstancesException
Exception thrown when some zones are unavailable and listInstances is unable to return a full instance list. This exception can be inspected to get a partial list.