roboto.query.api#
Module Contents#
- class roboto.query.api.MetadataValuesRequest(/, **data)#
Bases:
pydantic.BaseModelRequest to fetch metadata for Roboto entities.
- Parameters:
data (Any)
- entity_ids: list[str] = None#
IDs of Roboto entities for which we wish to retrieve metadata values.
- metadata_key: str = None#
Metadata key whose values we wish to retrieve.
- target: QueryTarget#
Roboto entity type.
- class roboto.query.api.MetadataValuesResponse(/, **data)#
Bases:
pydantic.BaseModelResponse datagram containing Roboto entity metadata.
- Parameters:
data (Any)
- metadata_key: str#
Metadata key for which values were fetched.
- metadata_values: dict[str, Any] = None#
Metadata values retrieved for the given key from a set of Roboto entities.
The mapping is:
entity_id -> metadata_value. Entities that don’t have the requested metadata value will be mapped toNone. Entities that do not exist, or to which the caller does not have search access, will be omitted from the mapping.
- class roboto.query.api.QualifiedRoboqlQuery(/, **data)#
Bases:
pydantic.BaseModelA RoboQL query which has been qualified with a target.
- Parameters:
data (Any)
- query: str = None#
- target: QueryTarget = None#
- class roboto.query.api.QueryContentMode#
Bases:
roboto.compat.StrEnumHint to query APIs on whether to return Roboto entities with custom metadata.
In
RecordOnlymode, Roboto entities are returned without custom metadata, ensuring a smaller and more predictable response size. Use this mode when you need lower query latency, larger result page sizes, or both.In
RecordWithMetamode, Roboto entities are returned with all available custom metadata. Use this mode if you need immediate access to metadata fields.Note: content mode support is initially available for dataset queries, and will be added incrementally for other entity types.
- RecordOnly = 'record_only'#
Query results are returned with core Roboto data attributes only.
Those attributes establish the identity and function of Roboto entities.
- RecordWithMeta = 'record_with_meta'#
Query results are returned with all available entity attributes.
This includes core Roboto data attributes as well as custom metadata.
- class roboto.query.api.QueryContext(/, **data)#
Bases:
pydantic.BaseModelContext for a query
- Parameters:
data (Any)
- query: dict[str, Any] = None#
- query_scheme: QueryScheme#
- class roboto.query.api.QueryRecord(/, **data)#
Bases:
pydantic.BaseModelA wire-transmissible representation of a query.
- Parameters:
data (Any)
- modified: datetime.datetime = None#
- org_id: str = None#
- query_ctx: QueryContext = None#
- query_id: str = None#
- result_count: int = None#
- status: QueryStatus = None#
- submitted: datetime.datetime = None#
- submitted_by: str = None#
- target: QueryTarget = None#
- class roboto.query.api.QueryScheme#
Bases:
roboto.compat.StrEnumA specific query format/schema which can be used in combination with some context JSON to provide all information required to execute a query.
- QuerySpecV1 = 'query_spec_v1'#
The initial variant of roboto.query.QuerySpecification which powered search since mid 2023.
- class roboto.query.api.QueryStatus(*args, **kwds)#
Bases:
enum.EnumThe query lifecycle state of a given query.
- Failed = 'failed'#
Indicates the query failed to execute.
- ResultsAvailable = 'results_available'#
Indicates that query results are available for clients to retrieve.
Results might be available immediately, such as in paginated database search, or once a (potentially expensive) calculation completes for more advanced search modalities.
- Scheduled = 'scheduled'#
Indicates the query is scheduled for execution.
- class roboto.query.api.QueryStorageContext(/, **data)#
Bases:
pydantic.BaseModelContext for query storage
- Parameters:
data (Any)
- storage_ctx: dict[str, Any] = None#
- storage_scheme: QueryStorageScheme#
- class roboto.query.api.QueryStorageScheme#
Bases:
roboto.compat.StrEnumA specific query result storage format/schema which can be used in combination with some context JSON to provide all information required to vend query results
- S3ManifestV1 = 's3_manifest_v1'#
Query results are in S3, and a manifest file enumerates the result parts and how to resolve them into rows.
- class roboto.query.api.QueryTarget#
Bases:
roboto.compat.StrEnumThe type of resource a specific query is requesting.
- Collections = 'collections'#
- Datasets = 'datasets'#
- Events = 'events'#
- Files = 'files'#
- TopicMessagePaths = 'topic_message_paths'#
- Topics = 'topics'#
- class roboto.query.api.SubmitRoboqlQueryRequest(/, **data)#
Bases:
pydantic.BaseModelRequest payload to submit a RoboQL query
- Parameters:
data (Any)
- content_mode: QueryContentMode = None#
- query: str | None = None#
- target: QueryTarget = None#
- class roboto.query.api.SubmitStructuredQueryRequest(/, **data)#
Bases:
pydantic.BaseModelRequest payload to submit a structured query
- Parameters:
data (Any)
- content_mode: QueryContentMode = None#
- query: roboto.query.specification.QuerySpecification = None#
- target: QueryTarget = None#
- class roboto.query.api.SubmitTermQueryRequest(/, **data)#
Bases:
pydantic.BaseModelRequest payload to submit a simple term query
- Parameters:
data (Any)
- content_mode: QueryContentMode = None#
- target: QueryTarget = None#
- term: str = None#