SimpleRetriever
Retrieves records by synchronously sending requests to fetch records. The retriever acts as an orchestrator between the requester, the record selector, the paginator, and the partition router.
- type:
object - required:
["type","record_selector","requester"]
type
- Required: Yes
- type:
string - enum:
["SimpleRetriever"]
requester
Requester component that describes how to prepare HTTP requests to send to the source API.
-
Required: Yes
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
decoder
Component decoding the response so records can be extracted.
-
Required: No
-
anyOf:
- Allowed type:
JsonDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonItemsDecoder
- Allowed type:
-
anyOf:
- Allowed type:
XmlDecoder
- Allowed type:
-
anyOf:
- Allowed type:
CsvDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonlDecoder
- Allowed type:
-
anyOf:
- Allowed type:
GzipDecoder
- Allowed type:
-
anyOf:
- Allowed type:
IterableDecoder
- Allowed type:
-
anyOf:
- Allowed type:
ZipfileDecoder
- Allowed type:
-
anyOf:
- Allowed type:
CustomDecoder
- Allowed type:
record_selector
Component that describes how to extract records from a HTTP response.
- Required: Yes
- Allowed type:
RecordSelector
paginator
Paginator component that describes how to navigate through the API's pages.
-
Required: No
-
anyOf:
- Allowed type:
DefaultPaginator
- Allowed type:
-
anyOf:
- Allowed type:
NoPagination
- Allowed type:
pagination_reset
Describes what triggers pagination reset and how to handle it.
- Required: No
- Allowed type:
PaginationReset
page_size_reduction
Describes how the page size is reduced when an error handler resolves to the REDUCE_PAGE_SIZE action. Requires a DefaultPaginator that defines both page_size_option and a pagination strategy with a page_size. Cannot be combined with query properties, a file uploader, or a parent stream read lazily through lazy_read_pointer, because in those cases records of the failing page have already been emitted and re-issuing the page would emit them twice. A page_token_option of type RequestPath is rejected as well, because the next page is then a URL built by the API which already carries the page size.
- Required: No
- Allowed type:
PageSizeReduction
request_window_splitting
Describes how the request window is split when an error handler resolves to the SPLIT_REQUEST_WINDOW action. Requires an incremental_sync cursor that defines cursor_granularity. Distinct from page_size_reduction: this splits the cursor's window rather than a paginator's page size, and applies even when the API rejects the request before returning a single page.
- Required: No
- Allowed type:
RequestWindowSplitting
ignore_stream_slicer_parameters_on_paginated_requests
If true, the partition router and incremental request options will be ignored when paginating requests. Request options set directly on the requester will not be ignored.
- Required: No
- type:
boolean - default:
false
partition_router
Used to iteratively execute requests over a set of values, such as a parent stream's records or a list of constant values.
-
Required: No
-
anyOf:
- Allowed type:
SubstreamPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
ListPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
GroupingPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
UnionPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
CustomPartitionRouter
- Allowed type:
-
anyOf:
-
type:
array -
items:
-
anyOf:
- Allowed type:
SubstreamPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
ListPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
GroupingPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
UnionPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
CustomPartitionRouter
- Allowed type:
-
-
$parameters
- Required: No
- type:
object