Package google.bigtable.admin.v2

Index

BigtableInstanceAdmin

Service for creating, configuring, and deleting Cloud Bigtable Instances and Clusters. Provides access to the Instance and Cluster schemas only, not the tables' metadata or data stored in those tables.

CreateCluster

rpc CreateCluster(CreateClusterRequest) returns (Operation)

Creates a cluster within an instance.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

CreateInstance

rpc CreateInstance(CreateInstanceRequest) returns (Operation)

Create an instance within a project.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

DeleteCluster

rpc DeleteCluster(DeleteClusterRequest) returns (Empty)

Deletes a cluster from an instance.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

DeleteInstance

rpc DeleteInstance(DeleteInstanceRequest) returns (Empty)

Delete an instance from a project.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

GetCluster

rpc GetCluster(GetClusterRequest) returns (Cluster)

Gets information about a cluster.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Auth Guide.

GetInstance

rpc GetInstance(GetInstanceRequest) returns (Instance)

Gets information about an instance.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Auth Guide.

ListClusters

rpc ListClusters(ListClustersRequest) returns (ListClustersResponse)

Lists information about clusters in an instance.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Auth Guide.

ListInstances

rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse)

Lists information about instances in a project.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Auth Guide.

UpdateCluster

rpc UpdateCluster(Cluster) returns (Operation)

Updates a cluster within an instance.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

UpdateInstance

rpc UpdateInstance(Instance) returns (Instance)

Updates an instance within a project.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

BigtableTableAdmin

Service for creating, configuring, and deleting Cloud Bigtable tables.

Provides access to the table schemas only, not the data stored within the tables.

CreateTable

rpc CreateTable(CreateTableRequest) returns (Table)

Creates a new table in the specified instance. The table can be created with a full set of initial column families, specified in the request.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

DeleteTable

rpc DeleteTable(DeleteTableRequest) returns (Empty)

Permanently deletes a specified table and all of its data.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

DropRowRange

rpc DropRowRange(DropRowRangeRequest) returns (Empty)

Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

GetTable

rpc GetTable(GetTableRequest) returns (Table)

Gets metadata information about the specified table.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Auth Guide.

ListTables

rpc ListTables(ListTablesRequest) returns (ListTablesResponse)

Lists all tables served from a specified instance.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Auth Guide.

ModifyColumnFamilies

rpc ModifyColumnFamilies(ModifyColumnFamiliesRequest) returns (Table)

Atomically performs a series of column family modifications on the specified table.

Authorization

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Auth Guide.

Cluster

A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.

Fields
name

string

(OutputOnly) The unique name of the cluster. Values are of the form projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*.

location

string

(CreationOnly) The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form projects/<project>/locations/<zone>.

state

State

(OutputOnly) The current state of the cluster.

serve_nodes

int32

The number of nodes allocated to this cluster. More nodes enable higher throughput and more consistent performance.

default_storage_type

StorageType

(CreationOnly) The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden.

State

Possible states of a cluster.

Enums
STATE_NOT_KNOWN The state of the cluster could not be determined.
READY The cluster has been successfully created and is ready to serve requests.
CREATING The cluster is currently being created, and may be destroyed if the creation process encounters an error. A cluster may not be able to serve requests while being created.
RESIZING The cluster is currently being resized, and may revert to its previous node count if the process encounters an error. A cluster is still capable of serving requests while being resized, but may exhibit performance as if its number of allocated nodes is between the starting and requested states.
DISABLED The cluster has no backing nodes. The data (tables) still exist, but no operations can be performed on the cluster.

ColumnFamily

A set of columns within a table which share a common configuration.

Fields
gc_rule

GcRule

Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes.

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.

CreateClusterMetadata

The metadata for the Operation returned by CreateCluster.

Fields
original_request

CreateClusterRequest

The request that prompted the initiation of this CreateCluster operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

CreateClusterRequest

Request message for BigtableInstanceAdmin.CreateCluster.

Fields
parent

string

The unique name of the instance in which to create the new cluster. Values are of the form projects/<project>/instances/<instance>.

cluster_id

string

The ID to be used when referring to the new cluster within its instance, e.g., just mycluster rather than projects/myproject/instances/myinstance/clusters/mycluster.

cluster

Cluster

The cluster to be created. Fields marked OutputOnly must be left blank.

CreateInstanceMetadata

The metadata for the Operation returned by CreateInstance.

Fields
original_request

CreateInstanceRequest

The request that prompted the initiation of this CreateInstance operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

CreateInstanceRequest

Request message for BigtableInstanceAdmin.CreateInstance.

Fields
parent

string

The unique name of the project in which to create the new instance. Values are of the form projects/<project>.

instance_id

string

The ID to be used when referring to the new instance within its project, e.g., just myinstance rather than projects/myproject/instances/myinstance.

instance

Instance

The instance to create. Fields marked OutputOnly must be left blank.

clusters

map<string, Cluster>

The clusters to be created within the instance, mapped by desired cluster ID, e.g., just mycluster rather than projects/myproject/instances/myinstance/clusters/mycluster. Fields marked OutputOnly must be left blank. Currently exactly one cluster must be specified.

CreateTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.CreateTable

Fields
parent

string

The unique name of the instance in which to create the table. Values are of the form projects/<project>/instances/<instance>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • bigtable.tables.create

table_id

string

The name by which the new table should be referred to within the parent instance, e.g., foobar rather than <parent>/tables/foobar.

table

Table

The Table to create.

initial_splits[]

Split

The optional list of row keys that will be used to initially split the table into several tablets (tablets are similar to HBase regions). Given two split keys, s1 and s2, three tablets will be created, spanning the key ranges: [, s1), [s1, s2), [s2, ).

Example:

  • Row keys := ["a", "apple", "custom", "customer_1", "customer_2", "other", "zz"]
  • initial_split_keys := ["apple", "customer_1", "customer_2", "other"]
  • Key assignment:
    • Tablet 1 [, apple) => {"a"}.
    • Tablet 2 [apple, customer_1) => {"apple", "custom"}.
    • Tablet 3 [customer_1, customer_2) => {"customer_1"}.
    • Tablet 4 [customer_2, other) => {"customer_2"}.
    • Tablet 5 [other, ) => {"other", "zz"}.

Split

An initial split point for a newly created table.

Fields
key

bytes

Row key to use as an initial tablet boundary.

DeleteClusterRequest

Request message for BigtableInstanceAdmin.DeleteCluster.

Fields
name

string

The unique name of the cluster to be deleted. Values are of the form projects/<project>/instances/<instance>/clusters/<cluster>.

DeleteInstanceRequest

Request message for BigtableInstanceAdmin.DeleteInstance.

Fields
name

string

The unique name of the instance to be deleted. Values are of the form projects/<project>/instances/<instance>.

DeleteTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable

Fields
name

string

The unique name of the table to be deleted. Values are of the form projects/<project>/instances/<instance>/tables/<table>.

Authorization requires the following Google IAM permission on the specified resource name:

  • bigtable.tables.delete

DropRowRangeRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange

Fields
name

string

The unique name of the table on which to drop a range of rows. Values are of the form projects/<project>/instances/<instance>/tables/<table>.

Authorization requires the following Google IAM permission on the specified resource name:

  • bigtable.tables.mutateRows

Union field target. Delete all rows or by prefix. target can be only one of the following:
row_key_prefix

bytes

Delete all rows that start with this row key prefix. Prefix cannot be zero length.

delete_all_data_from_table

bool

Delete all rows in the table. Setting this to false is a no-op.

GcRule

Rule for determining which cells to delete during garbage collection.

Fields
Union field rule. Garbage collection rules. rule can be only one of the following:
max_num_versions

int32

Delete all cells in a column except the most recent N.

max_age

Duration

Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity.

intersection

Intersection

Delete cells that would be deleted by every nested rule.

union

Union

Delete cells that would be deleted by any nested rule.

Intersection

A GcRule which deletes cells matching all of the given rules.

Fields
rules[]

GcRule

Only delete cells which would be deleted by every element of rules.

Union

A GcRule which deletes cells matching any of the given rules.

Fields
rules[]

GcRule

Delete cells which would be deleted by any element of rules.

GetClusterRequest

Request message for BigtableInstanceAdmin.GetCluster.

Fields
name

string

The unique name of the requested cluster. Values are of the form projects/<project>/instances/<instance>/clusters/<cluster>.

GetInstanceRequest

Request message for BigtableInstanceAdmin.GetInstance.

Fields
name

string

The unique name of the requested instance. Values are of the form projects/<project>/instances/<instance>.

GetTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.GetTable

Fields
name

string

The unique name of the requested table. Values are of the form projects/<project>/instances/<instance>/tables/<table>.

Authorization requires the following Google IAM permission on the specified resource name:

  • bigtable.tables.get

view

View

The view to be applied to the returned table's fields. Defaults to SCHEMA_VIEW if unspecified.

Instance

A collection of Bigtable Tables and the resources that serve them. All tables in an instance are served from a single Cluster.

Fields
name

string

(OutputOnly) The unique name of the instance. Values are of the form projects/<project>/instances/[a-z][a-z0-9\\-]+[a-z0-9].

display_name

string

The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion.

state

State

(OutputOnly) The current state of the instance.

type

Type

The type of the instance. Defaults to PRODUCTION.

State

Possible states of an instance.

Enums
STATE_NOT_KNOWN The state of the instance could not be determined.
READY The instance has been successfully created and can serve requests to its tables.
CREATING The instance is currently being created, and may be destroyed if the creation process encounters an error.

Type

The type of the instance.

Enums
TYPE_UNSPECIFIED The type of the instance is unspecified. If set when creating an instance, a PRODUCTION instance will be created. If set when updating an instance, the type will be left unchanged.
PRODUCTION An instance meant for production use. serve_nodes must be set on the cluster.
DEVELOPMENT The instance is meant for development and testing purposes only; it has no performance or uptime guarantees and is not covered by SLA. After a development instance is created, it can be upgraded by updating the instance to type PRODUCTION. An instance created as a production instance cannot be changed to a development instance. When creating a development instance, serve_nodes on the cluster must not be set.

ListClustersRequest

Request message for BigtableInstanceAdmin.ListClusters.

Fields
parent

string

The unique name of the instance for which a list of clusters is requested. Values are of the form projects/<project>/instances/<instance>. Use <instance> = '-' to list Clusters for all Instances in a project, e.g., projects/myproject/instances/-.

page_token

string

The value of next_page_token returned by a previous call.

ListClustersResponse

Response message for BigtableInstanceAdmin.ListClusters.

Fields
clusters[]

Cluster

The list of requested clusters.

failed_locations[]

string

Locations from which Cluster information could not be retrieved, due to an outage or some other transient condition. Clusters from these locations may be missing from clusters, or may only have partial information returned.

next_page_token

string

Set if not all clusters could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

ListInstancesRequest

Request message for BigtableInstanceAdmin.ListInstances.

Fields
parent

string

The unique name of the project for which a list of instances is requested. Values are of the form projects/<project>.

page_token

string

The value of next_page_token returned by a previous call.

ListInstancesResponse

Response message for BigtableInstanceAdmin.ListInstances.

Fields
instances[]

Instance

The list of requested instances.

failed_locations[]

string

Locations from which Instance information could not be retrieved, due to an outage or some other transient condition. Instances whose Clusters are all in one of the failed locations may be missing from instances, and Instances with at least one Cluster in a failed location may only have partial information returned.

next_page_token

string

Set if not all instances could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

ListTablesRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables

Fields
parent

string

The unique name of the instance for which tables should be listed. Values are of the form projects/<project>/instances/<instance>.

Authorization requires the following Google IAM permission on the specified resource parent:

  • bigtable.tables.list

view

View

The view to be applied to the returned tables' fields. Defaults to NAME_ONLY if unspecified; no others are currently supported.

page_token

string

The value of next_page_token returned by a previous call.

ListTablesResponse

Response message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables

Fields
tables[]

Table

The tables present in the requested instance.

next_page_token

string

Set if not all tables could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

ModifyColumnFamiliesRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies

Fields
name

string

The unique name of the table whose families should be modified. Values are of the form projects/<project>/instances/<instance>/tables/<table>.

Authorization requires the following Google IAM permission on the specified resource name:

  • bigtable.tables.update

modifications[]

Modification

Modifications to be atomically applied to the specified table's families. Entries are applied in order, meaning that earlier modifications can be masked by later ones (in the case of repeated updates to the same family, for example).

Modification

A create, update, or delete of a particular column family.

Fields
id

string

The ID of the column family to be modified.

Union field mod. Column familiy modifications. mod can be only one of the following:
create

ColumnFamily

Create a new column family with the specified schema, or fail if one already exists with the given ID.

update

ColumnFamily

Update an existing column family to the specified schema, or fail if no column family exists with the given ID.

drop

bool

Drop (delete) the column family with the given ID, or fail if no such family exists.

StorageType

Storage media types for persisting Bigtable data.

Enums
STORAGE_TYPE_UNSPECIFIED The user did not specify a storage type.
SSD Flash (SSD) storage should be used.
HDD Magnetic drive (HDD) storage should be used.

Table

A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.

Fields
name

string

(OutputOnly) The unique name of the table. Values are of the form projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*. Views: NAME_ONLY, SCHEMA_VIEW, FULL

column_families

map<string, ColumnFamily>

(CreationOnly) The column families configured for this table, mapped by column family ID. Views: SCHEMA_VIEW, FULL

granularity

TimestampGranularity

(CreationOnly) The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to MILLIS. Views: SCHEMA_VIEW, FULL

TimestampGranularity

Possible timestamp granularities to use when keeping multiple versions of data in a table.

Enums
TIMESTAMP_GRANULARITY_UNSPECIFIED The user did not specify a granularity. Should not be returned. When specified during table creation, MILLIS will be used.
MILLIS The table keeps data versioned at a granularity of 1ms.

View

Defines a view over a table's fields.

Enums
VIEW_UNSPECIFIED Uses the default view for each method as documented in its request.
NAME_ONLY Only populates name.
SCHEMA_VIEW Only populates name and fields related to the table's schema.
FULL Populates all fields.

UpdateClusterMetadata

The metadata for the Operation returned by UpdateCluster.

Fields
original_request

Cluster

The request that prompted the initiation of this UpdateCluster operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

Monitor your resources on the go

Get the Google Cloud Console app to help you manage your projects.

Send feedback about...

Cloud Bigtable Documentation