Eseguire query sui dati protobuf
Questo documento fornisce esempi di pattern di query comuni per la lettura e l'esecuzione di query sui dati del buffer di protocollo (protobuf) archiviati in Bigtable.
Prima di leggere questa pagina, familiarizza con quanto segue:
Dati di esempio
Gli esempi seguenti utilizzano una tabella Music che memorizza informazioni su album e artisti. I dati vengono archiviati in una famiglia di colonne denominata album_details, con un
qualificatore di colonna album. Il qualificatore di colonna contiene messaggi protobuf.
Lo schema protobuf è definito nei seguenti file proto:
artist.proto:syntax = "proto3"; package package_name; message Artist { string name = 1; }album.proto:syntax = "proto3"; package package_name; import "artist.proto"; message Album { string title = 1; Artist artist = 2; int32 release_year = 3; }
Di conseguenza, Bigtable crea un pacchetto di schemi per questa tabella che contiene il seguente set di descrittori del file protobuf per queste definizioni protobuf:
file {
name: "artist.proto"
package: "package_name"
message_type {
name: "Artist"
field {
name: "name"
number: 1
label: LABEL_OPTIONAL
type: TYPE_STRING
json_name: "name"
}
}
syntax: "proto3"
}
file {
name: "album.proto"
package: "package_name"
dependency: "artist.proto"
message_type {
name: "Album"
field {
name: "title"
number: 1
label: LABEL_OPTIONAL
type: TYPE_STRING
json_name: "title"
}
field {
name: "artist"
number: 2
label: LABEL_OPTIONAL
type: TYPE_MESSAGE
type_name: ".package_name.Artist"
json_name: "artist"
}
field {
name: "release_year"
number: 3