Resolve read plans by schema
Resolve one read plan for each schema a topic has in a window, beside each schema that can’t be planned.
Authorization is that of :py:func:resolve_read_plan: all-or-nothing over the window, so a caller who cannot view
every in-window partition’s file gets a 401 and no plans. A field no schema of the topic declares is a 400
(RobotoUnknownFieldAddressException), even over an empty window.
Access control
- Restricted tokens need the API scope
api.everything_else
/v2/topics/id/{topic_id}/read-plans-by-schemaAuthorizationBearer token · headerrequiredtopic_idstringrequiredX-Roboto-Org-IdstringX-Roboto-User-Idstringapplication/jsonfields_includeFieldAddress[]requiredShow propertiesHide properties
FieldAddresspathstring[] | nullShow propertiesHide properties
stringstringnullfield_idstring | nullShow propertiesHide properties
stringnullstart_timeinteger | nullShow propertiesHide properties
integernullend_timeinteger | nullShow propertiesHide properties
integernullpreferRepresentationPreference | nullShow propertiesHide properties
defaultRepresentationSelectorDescribes the stored variants a representation choice accepts.
The optional criteria storage_format, content_format, and
transformations constrain the corresponding attributes of
:py:class:RepresentationRecord. A variant must meet every criterion
that is set; None places no requirement on that attribute.
:py:class:~roboto.experimental.topics.RepresentationPreference
determines which selectors are tried and whether missing coverage is
refused. Missing coverage under a last selector with no criteria has the
meaning documented by
:py:attr:~roboto.experimental.topics.ReadPlanPartition.scan_tasks.
Successor to :py:class:roboto.domain.topics.RepresentationSelector,
used by :py:meth:~roboto.domain.topics.Topic.get_data.
Show propertiesHide properties
storage_formatRepresentationStorageFormat | nullShow propertiesHide properties
stringnullcontent_formatstring | nullShow propertiesHide properties
stringnulltransformationsstring[] | nullShow propertiesHide properties
stringstringnullfallbacksRepresentationSelector[]Show propertiesHide properties
RepresentationSelectorstorage_formatRepresentationStorageFormat | nullShow propertiesHide properties
stringnullcontent_formatstring | nullShow propertiesHide properties
stringnulltransformationsstring[] | nullShow propertiesHide properties
stringstringnulloverridesRepresentationOverride[]Show propertiesHide properties
RepresentationOverridefieldFieldAddressrequiredAddresses a schema field, and the subtree nested under it, by exactly one of two forms.
A path names the field by its path_in_schema components directly (no
string delimiter, so a component may itself contain a .); a field_id
names it opaquely and resolves server-side to the same path. Either form
designates the field and every field nested under it.
Show propertiesHide properties
pathstring[] | nullShow propertiesHide properties
stringstringnullfield_idstring | nullShow propertiesHide properties
stringnullselectorRepresentationSelectorrequiredDescribes the stored variants a representation choice accepts.
The optional criteria storage_format, content_format, and
transformations constrain the corresponding attributes of
:py:class:RepresentationRecord. A variant must meet every criterion
that is set; None places no requirement on that attribute.
:py:class:~roboto.experimental.topics.RepresentationPreference
determines which selectors are tried and whether missing coverage is
refused. Missing coverage under a last selector with no criteria has the
meaning documented by
:py:attr:~roboto.experimental.topics.ReadPlanPartition.scan_tasks.
Successor to :py:class:roboto.domain.topics.RepresentationSelector,
used by :py:meth:~roboto.domain.topics.Topic.get_data.
Show propertiesHide properties
storage_formatRepresentationStorageFormat | nullShow propertiesHide properties
RepresentationStorageFormatnullcontent_formatstring | nullShow propertiesHide properties
stringnulltransformationsstring[] | nullShow propertiesHide properties
stringstringnullnulltimeline_source_namestring | nullShow propertiesHide properties
stringnullsession_idstring | nullShow propertiesHide properties
stringnullfile_idstring | nullShow propertiesHide properties
stringnulldataset_idstring | nullShow propertiesHide properties
stringnulldevice_idstring | nullShow propertiesHide properties
stringnullOK
dataobjectrequiredResponse body of POST /v2/topics/id/<topic_id>/read-plans-by-schema: a read across schemas, resolved.
Each schema in the window, under the request's restrictions, has either a read plan in :py:attr:plans or a
refusal in :py:attr:refusals, never both. Both lists are sorted by schema id.
Show propertiesHide properties
plansReadPlan[]requiredShow propertiesHide properties
ReadPlanplan_versionintegertopic_idstringrequiredwindowTimeWindow | nullrequiredShow propertiesHide properties
startintegerrequiredendintegerrequirednullschemaReadPlanSchemaRef | nullShow propertiesHide properties
schema_idstringrequiredchecksumstringrequirednamed_arraysReadPlanNamedArray[]Show propertiesHide properties
ReadPlanNamedArrayfield_idstringrequiredpathstring[]requiredelement_namesstring[]requirednullprojectionReadPlanProjectionrequiredThe output fields the plan resolves rows to.
The projection takes exactly one of two forms: either every field in the
schema (all is true, and the field list is left implicit so the plan
need not enumerate a large schema) or an explicit fields list.
Show propertiesHide properties
allbooleanfieldsReadPlanFieldRef[] | nullShow propertiesHide properties
ReadPlanFieldReffield_idstringrequiredpathstring[]requiredelementsstring[] | nullShow propertiesHide properties
stringstringnullnullpartitionsReadPlanPartition[]Show propertiesHide properties
ReadPlanPartitiontopic_part_idstringrequiredtime_offset_nsintegerrequiredwindowTimeWindowrequiredAn interval of time in absolute nanoseconds since the Unix epoch, inclusive at both ends.
A read plan uses this type for three intervals: the window that the plan was resolved over
(:py:attr:ReadPlan.window), the window that selects each partition's rows (:py:attr:ReadPlanPartition.window),
and each partition's :py:attr:ReadPlanPartition.timeline_extent. Because all three share this shape, a consumer
can intersect any two of them directly.
Show propertiesHide properties
startintegerrequiredendintegerrequiredtimeline_extentTimeWindowrequiredAn interval of time in absolute nanoseconds since the Unix epoch, inclusive at both ends.
A read plan uses this type for three intervals: the window that the plan was resolved over
(:py:attr:ReadPlan.window), the window that selects each partition's rows (:py:attr:ReadPlanPartition.window),
and each partition's :py:attr:ReadPlanPartition.timeline_extent. Because all three share this shape, a consumer
can intersect any two of them directly.
Show propertiesHide properties
startintegerrequiredendintegerrequiredtimestampReadPlanTimestamprequiredWhere a partition's row timestamps come from.
Timestamps are either read out of a schema field (kind is
"schema_field", and field names which one) or taken from the
storage envelope (message log or publish time), in which case no schema
field is involved and field is None.
Show propertiesHide properties
kindstringrequiredschema_fieldmessage_log_timemessage_publish_timefieldReadPlanFieldRef | nullShow propertiesHide properties
ReadPlanFieldRefnullunitstring | nullShow propertiesHide properties
stringnullsource_namestring | nullShow propertiesHide properties
stringnulldata_rangeany[] | nullShow propertiesHide properties
anynullscan_tasksReadPlanScanTask[]Show propertiesHide properties
ReadPlanScanTasksubtreeReadPlanFieldRef | nullShow propertiesHide properties
ReadPlanFieldRefnullprecedenceintegerrequiredformatRepresentationStorageFormatrequiredSupported storage formats for topic data representations.
Defines the available formats for storing and accessing topic data within the Roboto platform. Each format has different characteristics and use cases.
mcapparquettransformationsstring[]objectReadPlanObjectRefrequiredPoints to the file backing a scan task. A consumer fetches the file's bytes from it.
Show propertiesHide properties
fs_node_idstringrequiredsize_bytesinteger | nullShow propertiesHide properties
integernullversioninteger | nullShow propertiesHide properties
integernulltopic_namestring | nullShow propertiesHide properties
stringnullfs_node_idstring | nullShow propertiesHide properties
stringnullrefusalsSchemaPlanRefusal[]requiredShow propertiesHide properties
SchemaPlanRefusalschema_idstringrequirederror_codestringrequiredmessagestringrequiredwindowTimeWindowrequiredAn interval of time in absolute nanoseconds since the Unix epoch, inclusive at both ends.
A read plan uses this type for three intervals: the window that the plan was resolved over
(:py:attr:ReadPlan.window), the window that selects each partition's rows (:py:attr:ReadPlanPartition.window),
and each partition's :py:attr:ReadPlanPartition.timeline_extent. Because all three share this shape, a consumer
can intersect any two of them directly.
Show propertiesHide properties
startintegerrequiredendintegerrequiredtimeline_source_namesstring[] | nullShow propertiesHide properties
stringstringnullThrown when the conversation context (messages, system prompt, tool results) exceeds the model's context window limit.
The token estimate and the model's context limit are not carried on the exception, so a caller cannot read usage numbers off it.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when authentication fails
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if an operation would exceed a user or org level limit.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if a user is attempting to perform an action unrecognized by the Roboto platform.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if there is a conflict between a resource you're creating and another existing resource
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown if a resource is missing or expired.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullAn error the platform reported that this SDK release cannot resolve to a specific exception class.
Reported for an element of a :py:class:~roboto.http.BatchResponse whose error names a code this release
defines no class for, or that arrived without a code, without a message, or as text that is not an
error envelope at all. It carries whatever code and message the platform sent, so a caller handling the
failure still learns what went wrong; when no message could be read, the message is the error's raw text.
The error envelope carries no status code, so http_status_code reports the 500 inherited from
:py:class:RobotoDomainException rather than the status the failure actually had.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown by shimmed out APIs which have not yet been implemented
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when a service is unavailable, such as when it's under heavy load and can't accept new requests. This is expected to be transient and ought to be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when the service times out while processing a request. This is exepcted to be transient and ought to be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | nullThrown when the server cannot complete the request because the response payload exceeds a storage or transport capacity limit (e.g., Lambda response size). This is NOT expected to be transient and should NOT be retried.
errorobjectShow propertiesHide properties
error_codenumbermessagestringstack_tracestring | null