gRPC APIs
Check out our API Overview for more information.
Protocol Buffer Definitions
You can download the proto files directly from GitHub below.
Protobuf | Description |
---|---|
services.proto | Defines the core services within the platform. |
serving.proto | Message definitions for running queries. |
custom_dim.proto | Message definitions for custom dimensions. |
indexing.proto | Message definitions for indexing content. |
admin.proto | Message definitions for performing administrative tasks. |
status.proto | Status return codes. |
common.proto | Common message definitions. |
Download the Auxiliary Protocol Buffers
The gRPC services also use Google's
annotations.proto
and http.proto.
If you need these proto
files, the following curl commands download these files into
the ext
subdirectory.
You can then reference them in the protoc
path using -I ext
.
proto $ ls
admin.proto common.proto indexing.proto services.proto serving.proto status.proto
proto $ mkdir ext
proto $ curl -s -o ext/google/api/annotations.proto --create-dirs \
https://raw.githubusercontent.com/googleapis/googleapis/master/google/api/annotations.proto
proto $ curl -s -o ext/google/api/http.proto --create-dirs \
https://raw.githubusercontent.com/googleapis/googleapis/master/google/api/http.proto
Example Protocol Buffers
The Quickstart Examples GitHub repository has examples of connecting via gRPC in a variety of languages.
Generating Strongly Typed Clients
One of the advantages of using gRPC is that there is some tooling for generating strongly-typed clients/bindings in many programming languages. These work by converting the protobuf definitions to code.
The most up-to-date documentation on how to do this is in the "quick start" sections of https://grpc.io/docs/languages/ following the "Generate gRPC code" section in the language of your choosing. For example, check out the official documentation for getting started with gRPC in Python.