119 lines
2.5 KiB
YAML
119 lines
2.5 KiB
YAML
version: "0.78.5"
|
|
|
|
definitions:
|
|
selector:
|
|
type: RecordSelector
|
|
extractor:
|
|
class_name: source_rss.components.CustomExtractor
|
|
|
|
requester:
|
|
type: HttpRequester
|
|
url_base: "{{ config['url'] }}"
|
|
http_method: "GET"
|
|
authenticator:
|
|
type: NoAuth
|
|
|
|
retriever:
|
|
type: SimpleRetriever
|
|
record_selector:
|
|
$ref: "#/definitions/selector"
|
|
record_filter:
|
|
condition: "{{ record['published'] >= stream_interval['start_time'] }}"
|
|
paginator:
|
|
type: NoPagination
|
|
requester:
|
|
$ref: "#/definitions/requester"
|
|
|
|
base_stream:
|
|
type: DeclarativeStream
|
|
retriever:
|
|
$ref: "#/definitions/retriever"
|
|
|
|
items_stream:
|
|
$ref: "#/definitions/base_stream"
|
|
name: "items"
|
|
schema_loader:
|
|
type: InlineSchemaLoader
|
|
schema:
|
|
$ref: "#/definitions/items_schema"
|
|
$parameters:
|
|
path: "/"
|
|
incremental_sync:
|
|
type: DatetimeBasedCursor
|
|
cursor_field: published
|
|
datetime_format: "%Y-%m-%dT%H:%M:%S%z"
|
|
start_datetime:
|
|
type: MinMaxDatetime
|
|
datetime: "{{ (now_utc() - duration('PT23H')).strftime('%Y-%m-%dT%H:%M:%S%z') }}"
|
|
datetime_format: "%Y-%m-%dT%H:%M:%S%z"
|
|
end_datetime:
|
|
type: MinMaxDatetime
|
|
datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%S%z') }}"
|
|
datetime_format: "%Y-%m-%dT%H:%M:%S%z"
|
|
|
|
items_schema:
|
|
$schema: http://json-schema.org/draft-07/schema#
|
|
type: object
|
|
additionalProperties: true
|
|
required:
|
|
- published
|
|
properties:
|
|
title:
|
|
type:
|
|
- "null"
|
|
- string
|
|
link:
|
|
type:
|
|
- "null"
|
|
- string
|
|
description:
|
|
type:
|
|
- "null"
|
|
- string
|
|
author:
|
|
type:
|
|
- "null"
|
|
- string
|
|
category:
|
|
type:
|
|
- "null"
|
|
- string
|
|
comments:
|
|
type:
|
|
- "null"
|
|
- string
|
|
enclosure:
|
|
type:
|
|
- "null"
|
|
- string
|
|
guid:
|
|
type:
|
|
- "null"
|
|
- string
|
|
published:
|
|
type:
|
|
- string
|
|
format: date-time
|
|
|
|
streams:
|
|
- "#/definitions/items_stream"
|
|
|
|
check:
|
|
type: CheckStream
|
|
stream_names:
|
|
- "items"
|
|
|
|
spec:
|
|
type: Spec
|
|
documentation_url: https://docs.airbyte.com/integrations/sources/rss
|
|
connection_specification:
|
|
$schema: http://json-schema.org/draft-07/schema#
|
|
title: RSS Spec
|
|
type: object
|
|
required:
|
|
- url
|
|
properties:
|
|
url:
|
|
type: string
|
|
description: RSS Feed URL
|