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_readorresolve_manifest), i.e.
{
"config": <normal config>,
"__injected_declarative_manifest": {...},
"__command": <"resolve_manifest" | "test_read">
}
*See ConnectionSpecification for details on the "config" key if needed.
- When the
__commandisresolve_manifest, the argument tocatalogshould be an empty string. - The config can optionally contain an object under the
__test_read_configkey which can define custom test read limits withmax_records,max_slices, andmax_pages_per_sliceproperties. All custom limits are optional; a default will be used for any limit that is not provided.
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