Protocol Documentation#
Table of Contents#
docarray.proto
DocumentArrayProto
jina.proto
DataRequestListProto
DataRequestProto
DataRequestProto.DataContentProto
DataRequestProtoWoData
EndpointsProto
HeaderProto
JinaInfoProto
JinaInfoProto.EnvsEntry
JinaInfoProto.JinaEntry
RelatedEntity
RouteProto
StatusProto
StatusProto.ExceptionProto
StatusProto.StatusCode
JinaDataRequestRPC
JinaDiscoverEndpointsRPC
JinaGatewayDryRunRPC
JinaInfoRPC
JinaRPC
JinaSingleDataRequestRPC
Scalar Value Types
docarray.proto#
DocumentArrayProto#
this file is just a placeholder for the DA coming from docarray dependency
jina.proto#
DataRequestListProto#
Represents a list of data requests This should be replaced by streaming
Field |
Type |
Label |
Description |
---|---|---|---|
requests |
DataRequestProto |
repeated |
requests in this list |
DataRequestProto#
Represents a DataRequest
Field |
Type |
Label |
Description |
---|---|---|---|
header |
HeaderProto |
header contains meta info defined by the user |
|
parameters |
google.protobuf.Struct |
extra kwargs that will be used in executor |
|
routes |
RouteProto |
repeated |
status info on every routes |
data |
DataRequestProto.DataContentProto |
container for docs and groundtruths |
DataRequestProto.DataContentProto#
Field |
Type |
Label |
Description |
---|---|---|---|
docs |
docarray.DocumentArrayProto |
the docs in this request |
|
docs_bytes |
bytes |
the docs in this request as bytes |
DataRequestProtoWoData#
Field |
Type |
Label |
Description |
---|---|---|---|
header |
HeaderProto |
header contains meta info defined by the user |
|
parameters |
google.protobuf.Struct |
extra kwargs that will be used in executor |
|
routes |
RouteProto |
repeated |
status info on every routes |
EndpointsProto#
Represents the set of Endpoints exposed by an Executor
Field |
Type |
Label |
Description |
---|---|---|---|
endpoints |
string |
repeated |
list of endpoints exposed by an Executor |
HeaderProto#
Represents a Header.
The header’s content will be defined by the user request.
It will be copied to the envelope.header
In-flow operations will modify the envelope.header
While returning, copy envelope.header back to request.header
Field |
Type |
Label |
Description |
---|---|---|---|
request_id |
string |
the unique ID of this request. Multiple requests with the same ID will be gathered |
|
status |
StatusProto |
status info |
|
exec_endpoint |
string |
optional |
the endpoint specified by |
target_executor |
string |
optional |
if set, the request is targeted to certain executor, regex strings |
timeout |
uint32 |
optional |
epoch time in seconds after which the request should be dropped |
JinaInfoProto#
Field |
Type |
Label |
Description |
---|---|---|---|
jina |
JinaInfoProto.JinaEntry |
repeated |
information about the system running and package version information including jina |
envs |
JinaInfoProto.EnvsEntry |
repeated |
the environment variable setting |
JinaInfoProto.EnvsEntry#
Field |
Type |
Label |
Description |
---|---|---|---|
key |
string |
||
value |
string |
JinaInfoProto.JinaEntry#
Field |
Type |
Label |
Description |
---|---|---|---|
key |
string |
||
value |
string |
RouteProto#
Represents a the route paths of this message as perceived by the Gateway start_time is set when the Gateway sends a message to a Pod end_time is set when the Gateway receives a message from a Pod thus end_time - start_time includes Executor computation, runtime overhead, serialization and network
Field |
Type |
Label |
Description |
---|---|---|---|
executor |
string |
the name of the BasePod |
|
start_time |
google.protobuf.Timestamp |
time when the Gateway starts sending to the Pod |
|
end_time |
google.protobuf.Timestamp |
time when the Gateway received it from the Pod |
|
status |
StatusProto |
the status of the execution |
StatusProto#
Represents a Status
Field |
Type |
Label |
Description |
---|---|---|---|
code |
StatusProto.StatusCode |
status code |
|
description |
string |
error description of the very first exception |
|
exception |
StatusProto.ExceptionProto |
the details of the error |
StatusProto.ExceptionProto#
Field |
Type |
Label |
Description |
---|---|---|---|
name |
string |
the class name of the exception |
|
args |
string |
repeated |
the list of arguments given to the exception constructor. |
stacks |
string |
repeated |
the exception traceback stacks |
executor |
string |
the name of the executor bind to that Executor (if applicable) |
StatusProto.StatusCode#
Name |
Number |
Description |
---|---|---|
SUCCESS |
0 |
success |
ERROR |
1 |
error |
JinaDataRequestRPC#
jina gRPC service for DataRequests.
Method Name |
Request Type |
Response Type |
Description |
---|---|---|---|
process_data |
DataRequestListProto |
DataRequestProto |
Used for passing DataRequests to the Executors |
JinaDiscoverEndpointsRPC#
jina gRPC service to expose Endpoints from Executors.
Method Name |
Request Type |
Response Type |
Description |
---|---|---|---|
endpoint_discovery |
.google.protobuf.Empty |
EndpointsProto |
JinaGatewayDryRunRPC#
jina gRPC service to expose Endpoints from Executors.
Method Name |
Request Type |
Response Type |
Description |
---|---|---|---|
dry_run |
.google.protobuf.Empty |
StatusProto |
JinaInfoRPC#
jina gRPC service to expose information about running jina version and environment.
Method Name |
Request Type |
Response Type |
Description |
---|---|---|---|
_status |
.google.protobuf.Empty |
JinaInfoProto |
JinaRPC#
jina Gateway gRPC service.
Method Name |
Request Type |
Response Type |
Description |
---|---|---|---|
Call |
DataRequestProto stream |
DataRequestProto stream |
Pass in a Request and a filled Request with matches will be returned. |
JinaSingleDataRequestRPC#
jina gRPC service for DataRequests. This is used to send requests to Executors when a list of requests is not needed
Method Name |
Request Type |
Response Type |
Description |
---|---|---|---|
process_single_data |
DataRequestProto |
DataRequestProto |
Used for passing DataRequests to the Executors |
Scalar Value Types#
.proto Type |
Notes |
C++ |
Java |
Python |
Go |
C# |
PHP |
Ruby |
---|---|---|---|---|---|---|---|---|
double |
double |
float |
float64 |
double |
float |
Float |
||
float |
float |
float |
float32 |
float |
float |
Float |
||
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
|
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
|
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
|
Uses variable-length encoding. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum or Fixnum (as required) |
|
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
|
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
|
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
|
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum |
|
Always four bytes. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
|
Always eight bytes. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
|
bool |
boolean |
boolean |
bool |
bool |
boolean |
TrueClass/FalseClass |
||
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
string |
string |
string |
String (UTF-8) |
|
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |
[]byte |
ByteString |
string |
String (ASCII-8BIT) |