gRPC
A channel per resource, TLS by default, with auth carried in metadata.
Descriptors: check them in
Descriptors come either from server reflection at run time or from a descriptor set checked into the connector directory. Prefer the checked-in descriptor set. Reflection drifts under you between runs; a file in the repo does not. When reflection is used, it is recorded.
Messages
Unary returns one response; server-streaming yields one record per message. page_token pagination
follows AIP-158, re-issuing with next_page_token until it comes back empty.
Protobuf becomes a dict with preserving_proto_field_name. int64 maps to bigint, Timestamp and
Duration to timestamp and double, enums to their names.
Status codes
Retryable: UNAVAILABLE, RESOURCE_EXHAUSTED, DEADLINE_EXCEEDED, ABORTED.
Fatal: UNAUTHENTICATED, PERMISSION_DENIED, INVALID_ARGUMENT, NOT_FOUND, UNIMPLEMENTED.
Credential proof
A unary health check, or the first method on the service.