-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[low-code cdk] Allow for read command to be run on low code connector streams w/o a schema file #18532
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would this cause all discover operations to return empty schemas unless the developer specifically specifies a Json schema loader for the connector? if so why not wrap the json loader in a "fallback" or "EmptyOnError" loader or something, which defaults to empty if the loader it wraps fails?
Given our discussion during planning specifically that an empty schema would be a part of the initial development flow before exporting the YAML and adding schemas before running source acceptance tests, we should be okay on this point |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
non blocking coments
"ListStreamSlicer": ListStreamSlicer, | ||
"MinMaxDatetime": MinMaxDatetime, | ||
"MockSchemaLoader": MockSchemaLoader, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: I'd replace Mock
with Empty
in the name
@@ -62,9 +63,10 @@ | |||
"HttpRequester": HttpRequester, | |||
"InterpolatedBoolean": InterpolatedBoolean, | |||
"InterpolatedString": InterpolatedString, | |||
"JsonSchema": JsonSchema, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is there a worry that this might break existing users?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I scanned through our existing low code implementations and i'm going to migrate them to the new name JsonFileSchemaLoader
after the CDK is published first. However, on second thought, I think instead of doing the rename now, we'll just bundle this up into a series of cosmetic changes we have slated in November. Even though Hacktober fest is over, some contributors are still making adjustment and we don't want to add unnecessary friction if it can wait
/publish-cdk dry-run=false
|
/test connector=connectors/source-greenhouse
Build FailedTest summary info:
|
/test connector=connectors/source-courier
Build PassedTest summary info:
|
note: greenhouse has an existing test failure |
… streams w/o a schema file (#18532) * use mockschemaloader as the default and rename JsonSchema to JsonFileSchemaLoader * rename mock to EmptySchemaLoader * retain existing JsonSchema while hacktoberfest is still in progress * bump version and changelog
… streams w/o a schema file (airbytehq#18532) * use mockschemaloader as the default and rename JsonSchema to JsonFileSchemaLoader * rename mock to EmptySchemaLoader * retain existing JsonSchema while hacktoberfest is still in progress * bump version and changelog
What
Right now, connectors built using the low-code framework require that each stream have a schema defined in the
schemas/<stream_schema>.json
. For low-code connector iterative development, schemas are not strictly necessary forread
. To make the Connector Builder UI scope smaller, this change allows read to be performed w/o schemasHow
schema_loader
. New connectors built in the Connector Builder UI will not need schemas defined to runread
.JsonSchema
toJsonFileSchemaLoader
for better clarityRecommended reading order
mock_schema_loader.py
json_file_schema_loader.py
declarative_stream.py