Skip to main content

CAR service connector framework

Project description

Car Connector Framework

Develop a connector

Use connectors/reference_connector from cp4s-car-connectors project as an example of how this framework is to be used.

A CAR connector project will need to extend the framework classes: BaseFullImport, BaseIncrementalImport, BaseApp, BaseAssetServer and BaseDataHandler, and implement abstract methods of those classes.

Things to note:

  • All communications with CAR digestion microservice are managed by the framework. Connector code normally does not need to access CAR digestion microservice directly

  • The framework is trying to make some intelligent choice for whether to run full vs incremental import. Normally, for performance reasons we would always prefer to run incremental import if one is possible. Some examples of when it is not possible are:

    • The model states for generating delta are not available
    • The model on the CAR side is empty
    • The previous incremental import session failed and a new incremental import session can potentially create a gap in the model data
  • Because of the above the the connector code should properly use (throw/raise) one of three following exceptions when detecting failures:

    • RecoverableFailure is to be used when the failure cannot potentially create a data gap and we can attempt an incremental import session when running next time. One example of a recoverable failure is a connectivity problem.
    • UnrecoverableFailure is to be used when the failure can potentially create a data gap and we must run full import session to recover.
    • DatasourceFailure is to be used when there is datasource API issues.

RecoverableFailure and UnrecoverableFailure are mostly handled in the framework. DatasourceFailure is to be used in the connector code with a corresponding error code. Example: return ErrorCode.TRANSMISSION_AUTH_CREDENTIALS.value. If none of the Failure classes is used, the framework will raise a GENERAL_APPLICATION_FAILURE (Unknown error) and print the error stack.

For more information use guides

Test deploy

https://github.com/IBM/cp4s-car-connectors/blob/develop/deployment/README.md

Publish

Use the guide from PUBLISH.md

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

car_connector_framework-4.0.3.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

car_connector_framework-4.0.3-py3-none-any.whl (22.4 kB view details)

Uploaded Python 3

File details

Details for the file car_connector_framework-4.0.3.tar.gz.

File metadata

  • Download URL: car_connector_framework-4.0.3.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.1

File hashes

Hashes for car_connector_framework-4.0.3.tar.gz
Algorithm Hash digest
SHA256 d0bd73e0f3d9dcd916471f1a5eff0f1c42da5ba68f5d072e7cb372a71a64f39f
MD5 ba3ed789391d9813d83e80971fb8c4d0
BLAKE2b-256 7823f7e20c308586fbc984ab617164d43050b50d80c2dea6438800cd04078cfa

See more details on using hashes here.

File details

Details for the file car_connector_framework-4.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for car_connector_framework-4.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 347a5a6d1e2fc5832d70702acd8026d64744a42687bb54f4bff85cc07f05a953
MD5 f7a145849bb819ec26bd8259edfb7774
BLAKE2b-256 8a5e796d4cd81873bfdc05ce7a7834104d841d6b9db99b63ec4e449c295b4154

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page