* remove duplicate param * remove duplicate params * fix some of the typing issues * fix typing issues * newline * format * Enable by default * Add missing file * refactor and remove flag * none check * move line of code * fix typing in rate_limiting * comment * use typedef * else branch * format * gate the feature * rename test * fix the test * only dedupe if the values are the same * Add some tests * convert values to strings * Document the change * implement in requester too
Connector Builder Backend
This is the backend for requests from the Connector Builder.
Local development
Locally running the Connector Builder backend
python main.py read --config path/to/config --catalog path/to/catalog
Note:
- Requires the keys
__injected_declarative_manifestand__commandin its config, where__injected_declarative_manifestis a JSON manifest and__commandis one of the commands handled by the ConnectorBuilderHandler (stream_read,list_streams, orresolve_manifest), i.e.
{
"config": <normal config>,
"__injected_declarative_manifest": {...},
"__command": <"resolve_manifest" | "list_streams" | "test_read">
}
*See ConnectionSpecification for details on the "config" key if needed.
- When the
__commandislist_streamsorresolve_manifest, the argument tocatalogshould be an empty string.
Locally running the docker image
Build
First, make sure you build the latest Docker image:
./gradlew airbyte-cdk:python:airbyteDocker
The docker image name and tag, respectively, are the values of the io.airbyte.name and io.airbyte.version LABELs in the Dockerfile.
Run
Then run any of the connector commands as follows:
docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-declarative-manifest:dev read --config /secrets/config.json