Just like other services in OpenMetadata (Database, Pipelines, Dashboards, Messaging, etc.), it’s possible to create a Custom Drive Connector to bring metadata from a storage or file system-like service into OpenMetadata.In this guide, we’ll walk through how to implement your own Custom Drive Connector by extending the ingestion framework. The implementation pattern follows other service types closely, making the transition smooth for anyone familiar with the ecosystem.
You need to yield CreateEntityRequest objects wrapped in an Either type. This pattern handles both successful entity creation and errors.Import necessary types:
To run your Custom Drive Connector inside Docker (e.g., with Airflow or directly from the UI), the ingestion image must include your module.Dockerfile example:
This ensures that your code is baked into the ingestion container. Always align the ingestion image tag with the OpenMetadata version that is running your server/UI.
The Custom Drive service form does not expose a Source Python Class field. Add the fully qualified class name to your ingestion YAML, then run it with the ingestion CLI.