Goal
Let users stream without a local .proto file or codegen step: obtain the table's protobuf descriptor at runtime, and build and ingest records dynamically against it.
Two deliverables per SDK
- Descriptor at runtime: build a protobuf descriptor without a compiled
.proto file — either from a Unity Catalog table schema, or constructed programmatically in code.
- Dynamic messages: construct and ingest records at runtime against that descriptor, with no statically compiled proto types.
API contract
The canonical way records are supplied dynamically (native dynamic-message objects vs JSON encoded against the descriptor) is decided in the Rust ticket #372. The wrapper SDKs follow that contract, which is why they are blocked by it.
Status
Notes
Per-SDK work is tracked in the sub-issues. Supersedes #240, whose per-language descriptor work is folded into them.
Goal
Let users stream without a local
.protofile or codegen step: obtain the table's protobuf descriptor at runtime, and build and ingest records dynamically against it.Two deliverables per SDK
.protofile — either from a Unity Catalog table schema, or constructed programmatically in code.API contract
The canonical way records are supplied dynamically (native dynamic-message objects vs JSON encoded against the descriptor) is decided in the Rust ticket #372. The wrapper SDKs follow that contract, which is why they are blocked by it.
Status
Notes
Per-SDK work is tracked in the sub-issues. Supersedes #240, whose per-language descriptor work is folded into them.