@@ -166,6 +166,21 @@ message JsonOptions {
166166 string encoding = 1 [(google.api.field_behavior ) = OPTIONAL ];
167167}
168168
169+ // Information related to a Bigtable protobuf column.
170+ message BigtableProtoConfig {
171+ // Optional. The ID of the Bigtable SchemaBundle resource associated with this
172+ // protobuf. The ID should be referred to within the parent table, e.g.,
173+ // `foo` rather than
174+ // `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/foo`.
175+ // See [more details on Bigtable
176+ // SchemaBundles](https://docs.cloud.google.com/bigtable/docs/create-manage-protobuf-schemas).
177+ string schema_bundle_id = 3 [(google.api.field_behavior ) = OPTIONAL ];
178+
179+ // Optional. The fully qualified proto message name of the protobuf. In the
180+ // format of "foo.bar.Message".
181+ string proto_message_name = 2 [(google.api.field_behavior ) = OPTIONAL ];
182+ }
183+
169184// Information related to a Bigtable column.
170185message BigtableColumn {
171186 // [Required] Qualifier of the column.
@@ -209,6 +224,9 @@ message BigtableColumn {
209224 // TEXT - indicates values are alphanumeric text strings.
210225 // BINARY - indicates values are encoded using HBase Bytes.toBytes family of
211226 // functions.
227+ // PROTO_BINARY - indicates values are encoded using serialized proto
228+ // messages. This can only be used in combination with JSON
229+ // type.
212230 // 'encoding' can also be set at the column family level. However, the setting
213231 // at this level takes precedence if 'encoding' is set at both levels.
214232 string encoding = 5 [(google.api.field_behavior ) = OPTIONAL ];
@@ -220,6 +238,10 @@ message BigtableColumn {
220238 // levels.
221239 google.protobuf.BoolValue only_read_latest = 6
222240 [(google.api.field_behavior ) = OPTIONAL ];
241+
242+ // Optional. Protobuf-specific configurations, only takes effect when the
243+ // encoding is PROTO_BINARY.
244+ BigtableProtoConfig proto_config = 7 [(google.api.field_behavior ) = OPTIONAL ];
223245}
224246
225247// Information related to a Bigtable column family.
@@ -249,6 +271,9 @@ message BigtableColumnFamily {
249271 // TEXT - indicates values are alphanumeric text strings.
250272 // BINARY - indicates values are encoded using HBase Bytes.toBytes family of
251273 // functions.
274+ // PROTO_BINARY - indicates values are encoded using serialized proto
275+ // messages. This can only be used in combination with JSON
276+ // type.
252277 // This can be overridden for a specific column by listing that column in
253278 // 'columns' and specifying an encoding for it.
254279 string encoding = 3 [(google.api.field_behavior ) = OPTIONAL ];
@@ -268,6 +293,10 @@ message BigtableColumnFamily {
268293 // for that column.
269294 google.protobuf.BoolValue only_read_latest = 5
270295 [(google.api.field_behavior ) = OPTIONAL ];
296+
297+ // Optional. Protobuf-specific configurations, only takes effect when the
298+ // encoding is PROTO_BINARY.
299+ BigtableProtoConfig proto_config = 7 [(google.api.field_behavior ) = OPTIONAL ];
271300}
272301
273302// Options specific to Google Cloud Bigtable data sources.
0 commit comments