Method: projects.instances.tables.modifyColumnFamilies

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

HTTP request

POST https://bigtableadmin.googleapis.com/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies

The URL uses Google API HTTP annotation syntax.

Path parameters

Parameters
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

Request body

The request body contains data with the following structure:

JSON representation
{
  "modifications": [
    {
      object(Modification)
    }
  ],
}
Fields
modifications[]

object(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).

Response body

If successful, the response body contains an instance of 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.

Modification

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

JSON representation
{
  "id": string,

  // Union field mod can be only one of the following:
  "create": {
    object(ColumnFamily)
  },
  "update": {
    object(ColumnFamily)
  },
  "drop": boolean,
  // End of list of possible types for union field mod.
}
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

object(ColumnFamily)

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

update

object(ColumnFamily)

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

drop

boolean

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

ColumnFamily

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

JSON representation
{
  "gcRule": {
    object(GcRule)
  },
}
Fields
gcRule

object(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.

GcRule

Rule for determining which cells to delete during garbage collection.

JSON representation
{

  // Union field rule can be only one of the following:
  "maxNumVersions": number,
  "maxAge": string,
  "intersection": {
    object(Intersection)
  },
  "union": {
    object(Union)
  },
  // End of list of possible types for union field rule.
}
Fields
Union field rule. Garbage collection rules. rule can be only one of the following:
maxNumVersions

number

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

maxAge

string (Duration format)

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

A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

intersection

object(Intersection)

Delete cells that would be deleted by every nested rule.

union

object(Union)

Delete cells that would be deleted by any nested rule.

Intersection

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

JSON representation
{
  "rules": [
    {
      object(GcRule)
    }
  ],
}
Fields
rules[]

object(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.

JSON representation
{
  "rules": [
    {
      object(GcRule)
    }
  ],
}
Fields
rules[]

object(GcRule)

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

Monitor your resources on the go

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

Send feedback about...

Cloud Bigtable Documentation