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.