AsyncRetriever
Retrieves records by Asynchronously 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","status_mapping","creation_requester","polling_requester","download_requester","status_extractor"]
type
- Required: Yes
- type:
string - enum:
["AsyncRetriever"]
record_selector
Component that describes how to extract records from a HTTP response.
- Required: Yes
- Allowed type:
RecordSelector
status_mapping
Async Job Status to Airbyte CDK Async Job Status mapping.
-
Required: Yes
-
anyOf:
- Allowed type:
AsyncJobStatusMap
- Allowed type:
status_extractor
Responsible for fetching the actual status of the async job.
-
Required: Yes
-
anyOf:
- Allowed type:
DpathExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CustomRecordExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CombinedExtractor
- Allowed type:
download_target_extractor
Responsible for fetching the final result urls provided by the completed / finished / ready async job.
-
Required: No
-
anyOf:
- Allowed type:
DpathExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CustomRecordExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CombinedExtractor
- Allowed type:
download_extractor
Responsible for fetching the records from provided urls.
-
Required: No
-
anyOf:
- Allowed type:
DpathExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CustomRecordExtractor
- Allowed type:
-
anyOf:
- Allowed type:
ResponseToFileExtractor
- Allowed type:
-
anyOf:
- Allowed type:
CombinedExtractor
- Allowed type:
creation_requester
Requester component that describes how to prepare HTTP requests to send to the source API to create the async server-side job.
-
Required: Yes
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
polling_requester
Requester component that describes how to prepare HTTP requests to send to the source API to fetch the status of the running async job.
-
Required: Yes
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
polling_job_timeout
The time in minutes after which the single Async Job should be considered as Timed Out.
-
Required: No
-
Available variables:
config -
anyOf:
- type:
integer
- type:
-
anyOf:
- type:
string
- type:
failed_retry_wait_time_in_seconds
Time in seconds to wait before retrying a failed async job. Only applies to jobs that ran on the API side and reported a FAILED status (e.g. report generation failed due to a cooldown). Creation failures (HTTP errors when starting a job, such as 429s) and TIMED_OUT jobs are retried immediately and are not affected by this setting. When set, the orchestrator defers retry of real failed jobs until the wait time has elapsed, without blocking other jobs.
-
Required: No
-
Available variables:
config -
anyOf:
- type:
integer - minimum:
1
- type:
-
anyOf:
- type:
string
- type:
download_target_requester
Requester component that describes how to prepare HTTP requests to send to the source API to extract the url from polling response by the completed async job.
-
Required: No
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
download_requester
Requester component that describes how to prepare HTTP requests to send to the source API to download the data provided by the completed async job.
-
Required: Yes
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
download_paginator
Paginator component that describes how to navigate through the API's pages during download.
-
Required: No
-
anyOf:
- Allowed type:
DefaultPaginator
- Allowed type:
-
anyOf:
- Allowed type:
NoPagination
- Allowed type:
abort_requester
Requester component that describes how to prepare HTTP requests to send to the source API to abort a job once it is timed out from the source's perspective.
-
Required: No
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
delete_requester
Requester component that describes how to prepare HTTP requests to send to the source API to delete a job once the records are extracted.
-
Required: No
-
anyOf:
- Allowed type:
HttpRequester
- Allowed type:
-
anyOf:
- Allowed type:
CustomRequester
- Allowed type:
partition_router
PartitionRouter component that describes how to partition the stream, enabling incremental syncs and checkpointing.
-
Required: No
-
default:
[] -
anyOf:
- Allowed type:
ListPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
SubstreamPartitionRouter
- 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:
ListPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
SubstreamPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
GroupingPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
UnionPartitionRouter
- Allowed type:
-
anyOf:
- Allowed type:
CustomPartitionRouter
- Allowed type:
-
-
decoder
Component decoding the response so records can be extracted.
-
Required: No
-
anyOf:
- Allowed type:
CsvDecoder
- Allowed type:
-
anyOf:
- Allowed type:
GzipDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonItemsDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonlDecoder
- Allowed type:
-
anyOf:
- Allowed type:
IterableDecoder
- Allowed type:
-
anyOf:
- Allowed type:
XmlDecoder
- Allowed type:
-
anyOf:
- Allowed type:
ZipfileDecoder
- Allowed type:
-
anyOf:
- Allowed type:
CustomDecoder
- Allowed type:
download_decoder
Component decoding the download response so records can be extracted.
-
Required: No
-
anyOf:
- Allowed type:
CsvDecoder
- Allowed type:
-
anyOf:
- Allowed type:
GzipDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonItemsDecoder
- Allowed type:
-
anyOf:
- Allowed type:
JsonlDecoder
- Allowed type:
-
anyOf:
- Allowed type:
IterableDecoder
- Allowed type:
-
anyOf:
- Allowed type:
XmlDecoder
- Allowed type:
-
anyOf:
- Allowed type:
ZipfileDecoder
- Allowed type:
-
anyOf:
- Allowed type:
CustomDecoder
- Allowed type:
$parameters
- Required: No
- type:
object