Cloud Bigtable V2 Client - Class Table (2.8.0)

Reference documentation and code samples for the Cloud Bigtable V2 Client class Table.

A collection of user data indexed by row, column, and timestamp.

Each table is served using the resources of its parent cluster.

Generated from protobuf message google.bigtable.admin.v2.Table

Namespace

Google \ Cloud \ Bigtable \ Admin \ V2

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ name string

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, REPLICATION_VIEW, FULL

↳ cluster_states array|Google\Protobuf\Internal\MapField

Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN replication_status. Views: REPLICATION_VIEW, ENCRYPTION_VIEW, FULL

↳ column_families array|Google\Protobuf\Internal\MapField

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

↳ granularity int

Immutable. The granularity (i.e. MILLIS) 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.

↳ restore_info RestoreInfo

Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.

↳ change_stream_config ChangeStreamConfig

If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.

↳ deletion_protection bool

Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited: * * The table. * * The column families in the table. * * The instance containing the table. Note one can still delete the data stored in the table through Data APIs.

↳ automated_backup_policy Table\AutomatedBackupPolicy

If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.

↳ row_key_schema Type\Struct

The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API. For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key. For example, if _key = "some_id#2024-04-30#\x00\x13\x00\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes } } } } fields { field_name: "date" type { string { encoding: utf8_bytes } } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes } } } } encoding { delimited_bytes { delimiter: "#" } } } The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\ | _key | product_code | | --------------------------------------|--------------| | "some_id#2024-04-30#\x00\x13\x00\xf3" | 1245427 | ------------------------------------------------------/ The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp". The following update operations are allowed for row_key_schema: - Update from an empty schema to a new schema. - Remove the existing schema. This operation requires setting the ignore_warnings flag to true, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.

getName

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, REPLICATION_VIEW, FULL

Returns
Type Description
string

setName

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, REPLICATION_VIEW, FULL

Parameter
Name Description
var string
Returns
Type Description
$this

getClusterStates

Output only. Map from cluster ID to per-cluster table state.

If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN replication_status. Views: REPLICATION_VIEW, ENCRYPTION_VIEW, FULL

Returns
Type Description
Google\Protobuf\Internal\MapField

setClusterStates

Output only. Map from cluster ID to per-cluster table state.

If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN replication_status. Views: REPLICATION_VIEW, ENCRYPTION_VIEW, FULL

Parameter
Name Description
var array|Google\Protobuf\Internal\MapField
Returns
Type Description
$this

getColumnFamilies

The column families configured for this table, mapped by column family ID.

Views: SCHEMA_VIEW, STATS_VIEW, FULL

Returns
Type Description
Google\Protobuf\Internal\MapField

setColumnFamilies

The column families configured for this table, mapped by column family ID.

Views: SCHEMA_VIEW, STATS_VIEW, FULL

Parameter
Name Description
var array|Google\Protobuf\Internal\MapField
Returns
Type Description
$this

getGranularity

Immutable. The granularity (i.e. MILLIS) 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.

Returns
Type Description
int

setGranularity

Immutable. The granularity (i.e. MILLIS) 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.

Parameter
Name Description
var int
Returns
Type Description
$this

getRestoreInfo

Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.

Returns
Type Description
RestoreInfo|null

hasRestoreInfo

clearRestoreInfo

setRestoreInfo

Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.

Parameter
Name Description
var RestoreInfo
Returns
Type Description
$this

getChangeStreamConfig

If specified, enable the change stream on this table.

Otherwise, the change stream is disabled and the change stream is not retained.

Returns
Type Description
ChangeStreamConfig|null

hasChangeStreamConfig

clearChangeStreamConfig

setChangeStreamConfig

If specified, enable the change stream on this table.

Otherwise, the change stream is disabled and the change stream is not retained.

Parameter
Name Description
var ChangeStreamConfig
Returns
Type Description
$this

getDeletionProtection

Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited:

  • The table.

  • The column families in the table.

  • The instance containing the table. Note one can still delete the data stored in the table through Data APIs.
Returns
Type Description
bool

setDeletionProtection

Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited:

  • The table.

  • The column families in the table.

  • The instance containing the table. Note one can still delete the data stored in the table through Data APIs.
Parameter
Name Description
var bool
Returns
Type Description
$this

getAutomatedBackupPolicy

If specified, automated backups are enabled for this table.

Otherwise, automated backups are disabled.

Returns
Type Description
Table\AutomatedBackupPolicy|null

hasAutomatedBackupPolicy

setAutomatedBackupPolicy

If specified, automated backups are enabled for this table.

Otherwise, automated backups are disabled.

Parameter
Name Description
var Table\AutomatedBackupPolicy
Returns
Type Description
$this

getRowKeySchema

The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API.

For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key. For example, if _key = "some_id#2024-04-30#\x00\x13\x00\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes } } } } fields { field_name: "date" type { string { encoding: utf8_bytes } } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes } } } } encoding { delimited_bytes { delimiter: "#" } } } The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\

_key product_code
"some_id#2024-04-30#\x00\x13\x00\xf3" 1245427

------------------------------------------------------/ The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp". The following update operations are allowed for row_key_schema:

  • Update from an empty schema to a new schema.
  • Remove the existing schema. This operation requires setting the ignore_warnings flag to true, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.
Returns
Type Description
Type\Struct|null

hasRowKeySchema

clearRowKeySchema

setRowKeySchema

The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API.

For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key. For example, if _key = "some_id#2024-04-30#\x00\x13\x00\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes } } } } fields { field_name: "date" type { string { encoding: utf8_bytes } } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes } } } } encoding { delimited_bytes { delimiter: "#" } } } The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\

_key product_code
"some_id#2024-04-30#\x00\x13\x00\xf3" 1245427

------------------------------------------------------/ The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp". The following update operations are allowed for row_key_schema:

  • Update from an empty schema to a new schema.
  • Remove the existing schema. This operation requires setting the ignore_warnings flag to true, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.
Parameter
Name Description
var Type\Struct
Returns
Type Description
$this

getAutomatedBackupConfig

Returns
Type Description
string