REST Resource: projects.instances.tables.schemaBundles

Resource: SchemaBundle

A named collection of related schemas.

JSON representation
{
  "name": string,
  "etag": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "protoSchema": {
    object (ProtoSchema)
  },
  "avroSchema": {
    object (AvroSchema)
  }
  // End of mutually exclusive fields.
}
Fields
name

string

Identifier. The unique name identifying this schema bundle. Values are of the form projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schemaBundle}

etag

string

Optional. The etag for this schema bundle. This may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. The server returns an ABORTED error on a mismatched etag.

The type of this schema bundle. The oneof case cannot change after creation. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
protoSchema

object (ProtoSchema)

Schema for Protobufs.

avroSchema

object (AvroSchema)

Optional. Schema for Avros.

End of mutually exclusive fields.

ProtoSchema

Represents a collection of protobuf schemas.

JSON representation
{
  "protoDescriptors": string
}
Fields
protoDescriptors

string (bytes format)

Required. Contains a protobuf-serialized google.protobuf.FileDescriptorSet, which could include multiple proto files. To generate it, install and run protoc with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run

$protoc  --proto_path=/app_path --proto_path=/lib_path \
         --include_imports \
         --descriptor_set_out=descriptors.pb \
         moon/shot/app.proto

For more details, see protobuffer self description.

A base64-encoded string.

AvroSchema

Represents a collection of Avro schemas.

JSON representation
{
  "jsonSchemas": [
    string
  ]
}
Fields
jsonSchemas[]

string

Required. The Avro schemas in JSON format. Each element must be the content of a valid, self-contained Avro schema file (.avsc), as described in https://avro.apache.org/docs/1.8.1/spec.html. Use repeated elements to include multiple Avro schema files in a single bundle.

Methods

create

Creates a new schema bundle in the specified table.

delete

Deletes a schema bundle in the specified table.

get

Gets metadata information about the specified schema bundle.

getIamPolicy

Gets the access control policy for a Bigtable resource.

list

Lists all schema bundles associated with the specified table.

patch

Updates a schema bundle in the specified table.

setIamPolicy

Sets the access control policy on a Bigtable resource.

testIamPermissions

Returns permissions that the caller has on the specified Bigtable resource.