package google.bigtable.v2

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service Bigtable

bigtable.proto:57

Service for reading from and writing to existing Bigtable tables.

message ArrayValue

data.proto:160

`ArrayValue` is an ordered list of `Value`.

Used in: Value

message Cell

data.proto:75

Specifies (some of) the contents of a single row/column/timestamp of a table.

Used in: Column

message Column

data.proto:62

Specifies (some of) the contents of a single row/column intersection of a table.

Used in: Family

message ColumnMetadata

data.proto:692

Describes a column in a Bigtable Query Language result set.

Used in: ProtoSchema

message ColumnRange

data.proto:201

Specifies a contiguous range of columns within a single column family. The range spans from <column_family>:<start_qualifier> to <column_family>:<end_qualifier>, where both bounds can be either inclusive or exclusive.

Used in: RowFilter

message Family

data.proto:47

Specifies (some of) the contents of a single row/column family intersection of a table.

Used in: Row

message FullReadStatsView

request_stats.proto:87

FullReadStatsView captures all known information about a read.

Used in: RequestStats

message Idempotency

data.proto:844

Parameters on mutations where clients want to ensure idempotency (i.e. at-most-once semantics). This is currently only needed for certain aggregate types.

Used in: MutateRowRequest, MutateRowsRequest.Entry

message MutateRowsRequest.Entry

bigtable.proto:612

A mutation for a given row.

Used in: MutateRowsRequest

message MutateRowsResponse.Entry

bigtable.proto:665

The result of applying a passed mutation in the original request.

Used in: MutateRowsResponse

message Mutation

data.proto:521

Specifies a particular change to be made to the contents of a row.

Used in: CheckAndMutateRowRequest, MutateRowRequest, MutateRowsRequest.Entry, ReadChangeStreamResponse.MutationChunk

message Mutation.AddToCell

data.proto:544

A Mutation which incrementally updates a cell in an `Aggregate` family.

Used in: Mutation

message Mutation.DeleteFromColumn

data.proto:587

A Mutation which deletes cells from the specified column, optionally restricting the deletions to a given timestamp range.

Used in: Mutation

message Mutation.DeleteFromFamily

data.proto:601

A Mutation which deletes all cells from the specified column family.

Used in: Mutation

message Mutation.DeleteFromRow

data.proto:608

A Mutation which deletes all cells from the containing row.

Used in: Mutation

(message has no fields)

message Mutation.MergeToCell

data.proto:565

A Mutation which merges accumulated state into a cell in an `Aggregate` family.

Used in: Mutation

message Mutation.SetCell

data.proto:523

A Mutation which sets the value of the specified cell.

Used in: Mutation

message PartialResultSet

data.proto:771

A partial result set from the streaming query API. Cloud Bigtable clients buffer partial results received in this message until a `resume_token` is received. The pseudocode below describes how to buffer and parse a stream of `PartialResultSet` messages. Having: - queue of row results waiting to be returned `queue` - extensible buffer of bytes `buffer` - a place to keep track of the most recent `resume_token` for each PartialResultSet `p` received { if p.reset { ensure `queue` is empty ensure `buffer` is empty } if p.estimated_batch_size != 0 { (optional) ensure `buffer` is sized to at least `p.estimated_batch_size` } if `p.proto_rows_batch` is set { append `p.proto_rows_batch.bytes` to `buffer` } if p.batch_checksum is set and `buffer` is not empty { validate the checksum matches the contents of `buffer` (see comments on `batch_checksum`) parse `buffer` as `ProtoRows` message, clearing `buffer` add parsed rows to end of `queue` } if p.resume_token is set { release results in `queue` save `p.resume_token` in `resume_token` } }

Used in: ExecuteQueryResponse

message ProtoFormat

data.proto:689

Protocol buffers format descriptor, as described by Messages ProtoSchema and ProtoRows

Used in: ExecuteQueryRequest, PrepareQueryRequest

(message has no fields)

message ProtoRows

data.proto:721

Rows represented in proto format. This should be constructed by concatenating the `batch_data` from each of the relevant `ProtoRowsBatch` messages and parsing the result as a `ProtoRows` message.

message ProtoRowsBatch

data.proto:729

A part of a serialized `ProtoRows` message.

Used in: PartialResultSet

message ProtoSchema

data.proto:701

ResultSet schema in proto format

Used in: ResultSetMetadata

message RateLimitInfo

bigtable.proto:687

Information about how client should adjust the load to Bigtable.

Used in: MutateRowsResponse

message ReadChangeStreamResponse.CloseStream

bigtable.proto:1055

A message indicating that the client should stop reading from the stream. If status is OK and `continuation_tokens` & `new_partitions` are empty, the stream has finished (for example if there was an `end_time` specified). If `continuation_tokens` & `new_partitions` are present, then a change in partitioning requires the client to open a new stream for each token to resume reading. Example: [B, D) ends | v new_partitions: [A, C) [C, E) continuation_tokens.partitions: [B,C) [C,D) ^---^ ^---^ ^ ^ | | | StreamContinuationToken 2 | StreamContinuationToken 1 To read the new partition [A,C), supply the continuation tokens whose ranges cover the new partition, for example ContinuationToken[A,B) & ContinuationToken[B,C).

Used in: ReadChangeStreamResponse

message ReadChangeStreamResponse.DataChange

bigtable.proto:954

A message corresponding to one or more mutations to the partition being streamed. A single logical `DataChange` message may also be split across a sequence of multiple individual messages. Messages other than the first in a sequence will only have the `type` and `chunks` fields populated, with the final message in the sequence also containing `done` set to true.

Used in: ReadChangeStreamResponse

enum ReadChangeStreamResponse.DataChange.Type

bigtable.proto:956

The type of mutation.

Used in: DataChange

message ReadChangeStreamResponse.Heartbeat

bigtable.proto:1019

A periodic message with information that can be used to checkpoint the state of a stream.

Used in: ReadChangeStreamResponse

message ReadChangeStreamResponse.MutationChunk

bigtable.proto:922

A partial or complete mutation.

Used in: DataChange

message ReadChangeStreamResponse.MutationChunk.ChunkInfo

bigtable.proto:926

Information about the chunking of this mutation. Only `SetCell` mutations can be chunked, and all chunks for a `SetCell` will be delivered contiguously with no other mutation types interleaved.

Used in: MutationChunk

message ReadIterationStats

request_stats.proto:46

ReadIterationStats captures information about the iteration of rows or cells over the course of a read, e.g. how many results were scanned in a read operation versus the results returned.

Used in: FullReadStatsView

message ReadModifyWriteRule

data.proto:634

Specifies an atomic read/modify/write operation on the latest value of the specified column.

Used in: ReadModifyWriteRowRequest

enum ReadRowsRequest.RequestStatsView

bigtable.proto:338

The desired view into RequestStats that should be returned in the response. See also: RequestStats message.

Used in: ReadRowsRequest

message ReadRowsResponse.CellChunk

bigtable.proto:422

Specifies a piece of a row's contents returned as part of the read response stream.

Used in: ReadRowsResponse

message RequestLatencyStats

request_stats.proto:65

RequestLatencyStats provides a measurement of the latency of the request as it interacts with different systems over its lifetime, e.g. how long the request took to execute within a frontend server.

Used in: FullReadStatsView

message RequestStats

request_stats.proto:102

RequestStats is the container for additional information pertaining to a single request, helpful for evaluating the performance of the sent request. Currently, the following method is supported: google.bigtable.v2.ReadRows

Used in: ReadRowsResponse

message ResultSetMetadata

data.proto:707

Describes the structure of a Bigtable result set.

Used in: ExecuteQueryResponse, PrepareQueryResponse

message Row

data.proto:34

Specifies the complete (requested) contents of a single row of a table. Rows which exceed 256MiB in size cannot be read in full.

Used in: ReadModifyWriteRowResponse

message RowFilter

data.proto:291

Takes a row as input and produces an alternate view of the row based on specified rules. For example, a RowFilter might trim down a row to include just the cells from columns matching a given regular expression, or might return all the cells of a row but not their values. More complicated filters can be composed out of these components to express requests such as, "within every column of a particular family, give just the two most recent cells which are older than timestamp X." There are two broad categories of RowFilters (true filters and transformers), as well as two ways to compose simple filters into more complex ones (chains and interleaves). They work as follows: * True filters alter the input row by excluding some of its cells wholesale from the output row. An example of a true filter is the `value_regex_filter`, which excludes cells whose values don't match the specified pattern. All regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax) in raw byte mode (RE2::Latin1), and are evaluated as full matches. An important point to keep in mind is that `RE2(.)` is equivalent by default to `RE2([^\n])`, meaning that it does not match newlines. When attempting to match an arbitrary byte, you should therefore use the escape sequence `\C`, which may need to be further escaped as `\\C` in your client language. * Transformers alter the input row by changing the values of some of its cells in the output, without excluding them completely. Currently, the only supported transformer is the `strip_value_transformer`, which replaces every cell's value with the empty string. * Chains and interleaves are described in more detail in the RowFilter.Chain and RowFilter.Interleave documentation. The total serialized size of a RowFilter message must not exceed 20480 bytes, and RowFilters may not be nested within each other (in Chains or Interleaves) to a depth of more than 20.

Used in: CheckAndMutateRowRequest, ReadRowsRequest, RowFilter.Chain, RowFilter.Condition, RowFilter.Interleave

message RowFilter.Chain

data.proto:293

A RowFilter which sends rows through several RowFilters in sequence.

Used in: RowFilter

message RowFilter.Condition

data.proto:338

A RowFilter which evaluates one of two possible RowFilters, depending on whether or not a predicate RowFilter outputs any cells from the input row. IMPORTANT NOTE: The predicate filter does not execute atomically with the true and false filters, which may lead to inconsistent or unexpected results. Additionally, Condition filters have poor performance, especially when filters are set for the false condition.

Used in: RowFilter

message RowFilter.Interleave

data.proto:302

A RowFilter which sends each row to each of several component RowFilters and interleaves the results.

Used in: RowFilter

message RowRange

data.proto:166

Specifies a contiguous range of rows.

Used in: RowSet, StreamPartition

message RowSet

data.proto:189

Specifies a non-contiguous set of rows.

Used in: ReadRowsRequest

message StreamContinuationToken

data.proto:679

NOTE: This API is intended to be used by Apache Beam BigtableIO. The information required to continue reading the data from a `StreamPartition` from where a previous read left off.

Used in: ReadChangeStreamResponse.CloseStream, ReadChangeStreamResponse.Heartbeat, StreamContinuationTokens

message StreamContinuationTokens

data.proto:671

NOTE: This API is intended to be used by Apache Beam BigtableIO. The information required to continue reading the data from multiple `StreamPartitions` from where a previous read left off.

Used in: ReadChangeStreamRequest

message StreamPartition

data.proto:662

NOTE: This API is intended to be used by Apache Beam BigtableIO. A partition of a change stream.

Used in: GenerateInitialChangeStreamPartitionsResponse, ReadChangeStreamRequest, ReadChangeStreamResponse.CloseStream, StreamContinuationToken

message TimestampRange

data.proto:227

Specified a contiguous range of microsecond timestamps.

Used in: Mutation.DeleteFromColumn, RowFilter

message Type

types.proto:51

`Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both `{'foo': '1', 'bar': '2'}` and `{'bar': '2', 'foo': '1'}` are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`.

Used in: ColumnMetadata, PrepareQueryRequest, Type.Aggregate, Type.Array, Type.Map, Type.Struct.Field, Value

message Type.Aggregate

types.proto:371

A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .

Used in: Type

message Type.Aggregate.HyperLogLogPlusPlusUniqueCount

types.proto:394

Computes an approximate unique count over the input values. When using raw data as input, be careful to use a consistent encoding. Otherwise the same value encoded differently could count more than once, or two distinct values could count as identical. Input: Any, or omit for Raw State: TBD Special state conversions: `Int64` (the unique count estimate)

Used in: Aggregate

(message has no fields)

message Type.Aggregate.Max

types.proto:380

Computes the max of the input values. Allowed input: `Int64` State: same as input

Used in: Aggregate

(message has no fields)

message Type.Aggregate.Min

types.proto:385

Computes the min of the input values. Allowed input: `Int64` State: same as input

Used in: Aggregate

(message has no fields)

message Type.Aggregate.Sum

types.proto:375

Computes the sum of the input values. Allowed input: `Int64` State: same as input

Used in: Aggregate

(message has no fields)

message Type.Array

types.proto:345

An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.

Used in: Type

message Type.Bool

types.proto:178

bool Values of type `Bool` are stored in `Value.bool_value`.

Used in: Type

(message has no fields)

message Type.Bytes

types.proto:54

Bytes Values of type `Bytes` are stored in `Value.bytes_value`.

Used in: Type, Int64.Encoding.BigEndianBytes

message Type.Bytes.Encoding

types.proto:56

Rules used to convert to or from lower level types.

Used in: Bytes

message Type.Bytes.Encoding.Raw

types.proto:62

Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.

Used in: Encoding

message Type.Date

types.proto:211

Date Values of type `Date` are stored in `Value.date_value`.

Used in: Type

(message has no fields)

message Type.Enum

types.proto:334

A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.

Used in: Type

message Type.Float32

types.proto:182

Float32 Values of type `Float32` are stored in `Value.float_value`.

Used in: Type

(message has no fields)

message Type.Float64

types.proto:186

Float64 Values of type `Float64` are stored in `Value.float_value`.

Used in: Type

(message has no fields)

message Type.Int64

types.proto:135

Int64 Values of type `Int64` are stored in `Value.int_value`.

Used in: Type

message Type.Int64.Encoding

types.proto:137

Rules used to convert to or from lower level types.

Used in: Int64, Timestamp.Encoding

message Type.Int64.Encoding.BigEndianBytes

types.proto:149

Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`

Used in: Encoding

message Type.Int64.Encoding.OrderedCodeBytes

types.proto:160

Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.

Used in: Encoding

(message has no fields)

message Type.Map

types.proto:357

A mapping of keys to values of a given type. Values of type `Map` are stored in a `Value.array_value` where each entry is another `Value.array_value` with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the _last_ value takes precedence.

Used in: Type

message Type.Proto

types.proto:323

A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.

Used in: Type

message Type.String

types.proto:83

String Values of type `String` are stored in `Value.string_value`.

Used in: Type

message Type.String.Encoding

types.proto:85

Rules used to convert to or from lower level types.

Used in: String

message Type.String.Encoding.Utf8Bytes

types.proto:104

UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`

Used in: Encoding

message Type.String.Encoding.Utf8Raw

types.proto:87

Deprecated: prefer the equivalent `Utf8Bytes`.

Used in: Encoding

(message has no fields)

message Type.Struct

types.proto:217

A structured data value, consisting of fields which map to dynamically typed values. Values of type `Struct` are stored in `Value.array_value` where entries are in the same order and number as `field_types`.

Used in: Type

message Type.Struct.Encoding

types.proto:229

Rules used to convert to or from lower level types.

Used in: Struct

message Type.Struct.Encoding.DelimitedBytes

types.proto:250

Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.

Used in: Encoding

message Type.Struct.Encoding.OrderedCodeBytes

types.proto:299

Fields are encoded independently and concatenated with the fixed byte pair `{0x00, 0x01}` in between. Any null `(0x00)` byte in an encoded field is replaced by the fixed byte pair `{0x00, 0xFF}`. Fields that encode to the empty string "" have special handling: - If *every* field encodes to "", or if the STRUCT has no fields defined, then the STRUCT is encoded as the fixed byte pair `{0x00, 0x00}`. - Otherwise, the STRUCT only encodes until the last non-empty field, omitting any trailing empty fields. Any empty fields that aren't omitted are replaced with the fixed byte pair `{0x00, 0x00}`. Examples: ``` - STRUCT() -> "\00\00" - STRUCT("") -> "\00\00" - STRUCT("", "") -> "\00\00" - STRUCT("", "B") -> "\00\00" + "\00\01" + "B" - STRUCT("A", "") -> "A" - STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B" - STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C" ``` Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.

Used in: Encoding

(message has no fields)

message Type.Struct.Encoding.Singleton

types.proto:232

Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`.

Used in: Encoding

(message has no fields)

message Type.Struct.Field

types.proto:219

A struct field and its type.

Used in: Struct

message Type.Timestamp

types.proto:190

Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.

Used in: Type

message Type.Timestamp.Encoding

types.proto:192

Rules used to convert to or from lower level types.

Used in: Timestamp

message Value

data.proto:97

`Value` represents a dynamically typed value. The typed fields in `Value` are used as a transport encoding for the actual value (which may be of a more complex type). See the documentation of the `Type` message for more details.

Used in: ArrayValue, ExecuteQueryRequest, Mutation.AddToCell, Mutation.MergeToCell, ProtoRows

message ValueRange

data.proto:236

Specifies a contiguous range of raw byte values.

Used in: RowFilter