DeclarativeStream
A stream whose behavior is described by a set of declarative low code components.
- type:
object - required:
["type","retriever"]
type
- Required: Yes
- type:
string - enum:
["DeclarativeStream"]
name
The stream name.
- Required: No
- type:
string - default: ``
retriever
Component used to coordinate how records are extracted across stream slices and request pages.
-
Required: Yes
-
anyOf:
- Allowed type:
SimpleRetriever
- Allowed type:
-
anyOf:
- Allowed type:
AsyncRetriever
- Allowed type:
-
anyOf:
- Allowed type:
CustomRetriever
- Allowed type:
incremental_sync
Component used to fetch data incrementally based on a time field in the data.
-
Required: No
-
anyOf:
- Allowed type:
DatetimeBasedCursor
- Allowed type:
-
anyOf:
- Allowed type:
IncrementingCountCursor
- Allowed type:
-
anyOf:
- Allowed type:
SyncTokenCursor
- Allowed type:
primary_key
- Required: No
- default: ``
- Allowed type:
PrimaryKey
schema_loader
One or many schema loaders can be used to retrieve the schema for the current stream. When multiple schema loaders are defined, schema properties will be merged together. Schema loaders defined first taking precedence in the event of a conflict.
-
Required: No
-
anyOf:
- Allowed type:
InlineSchemaLoader
- Allowed type:
-
anyOf:
- Allowed type:
DynamicSchemaLoader
- Allowed type:
-
anyOf:
- Allowed type:
JsonFileSchemaLoader
- Allowed type:
-
anyOf:
-
type:
array -
items:
-
anyOf:
- Allowed type:
InlineSchemaLoader
- Allowed type:
-
anyOf:
- Allowed type:
DynamicSchemaLoader
- Allowed type:
-
anyOf:
- Allowed type:
JsonFileSchemaLoader
- Allowed type:
-
anyOf:
- Allowed type:
CustomSchemaLoader
- Allowed type:
-
-
-
anyOf:
- Allowed type:
CustomSchemaLoader
- Allowed type:
transformations
A list of transformations to be applied to each output record.
-
Required: No
-
type:
array -
items:
-
anyOf:
- Allowed type:
AddFields
- Allowed type:
-
anyOf:
- Allowed type:
RemoveFields
- Allowed type:
-
anyOf:
- Allowed type:
KeysToLower
- Allowed type:
-
anyOf:
- Allowed type:
KeysToSnakeCase
- Allowed type:
-
anyOf:
- Allowed type:
FlattenFields
- Allowed type:
-
anyOf:
- Allowed type:
DpathFlattenFields
- Allowed type:
-
anyOf:
- Allowed type:
KeysReplace
- Allowed type:
-
anyOf:
- Allowed type:
CustomTransformation
- Allowed type:
-
state_migrations
Array of state migrations to be applied on the input state
-
Required: No
-
type:
array -
default:
[] -
items:
-
anyOf:
- Allowed type:
LegacyToPerPartitionStateMigration
- Allowed type:
-
anyOf:
- Allowed type:
CustomStateMigration
- Allowed type:
-
file_uploader
(experimental) Describes how to fetch a file
-
Required: No
-
type:
object -
required:
["type","requester","download_target_extractor"] -
- Required: Yes
- type:
string - enum:
["FileUploader"]
-
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:
-
-
Responsible for fetching the url where the file is located. This is applied on each records and not on the HTTP response
-
Required: Yes
-
anyOf:
- Allowed type:
DpathExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CustomRecordExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CombinedExtractor
- Allowed type:
-
-
Responsible for fetching the content of the file. If not defined, the assumption is that the whole response body is the file content
-
Required: No
-
anyOf:
- Allowed type:
DpathExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CustomRecordExtractor
- Allowed type:
-
-
Defines the name to store the file. Stream name is automatically added to the file path. File unique ID can be used to avoid overwriting files. Random UUID will be used if the extractor is not provided.
Examples:
{{ record.id }}/{{ record.file_name }}/{{ record.id }}_{{ record.file_name }}/ -
- Required: No
- type:
object
$parameters
- Required: No
- type:
object