All Downloads are FREE. Search and download functionalities are using the official Maven repository.

json.schema.metadataIngestion.databaseServiceMetadataPipeline.json Maven / Gradle / Ivy

{
  "$id": "https://open-metadata.org//schema/entity/services/ingestionPipelines/databaseServiceMetadataPipeline.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "DatabaseServiceMetadataPipeline",
  "description": "DatabaseService Metadata Pipeline Configuration.",
  "definitions": {
    "databaseMetadataConfigType": {
      "description": "Database Source Config Metadata Pipeline type",
      "type": "string",
      "enum": ["DatabaseMetadata"],
      "default": "DatabaseMetadata"
    },
    "dbtBucketDetails": {
      "title": "DBT Bucket Details",
      "description": "Details of the bucket where the dbt files are stored",
      "type": "object",
      "properties": {
        "dbtBucketName": {
          "title": "DBT Bucket Name",
          "description": "Name of the bucket where the dbt files are stored",
          "type": "string"
        },
        "dbtObjectPrefix": {
          "title": "DBT Object Prefix",
          "description": "Path of the folder where the dbt files are stored",
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "dbtCloudConfig": {
      "title": "DBT Cloud Config Source",
      "description": "DBT Catalog and Manifest HTTP path configuration.",
      "type": "object",
      "properties": {
        "dbtCloudAuthToken": {
          "title": "DBT Cloud Authentication Token",
          "description": "DBT cloud account authentication token",
          "type": "string",
          "format": "password"
        },
        "dbtCloudAccountId": {
          "title": "DBT Cloud Account Id",
          "description": "DBT cloud account Id",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": ["dbtCloudAuthToken", "dbtCloudAccountId"]
    },
    "dbtLocalConfig": {
      "title": "DBT Local Config Source",
      "description": "DBT Catalog and Manifest file path config.",
      "type": "object",
      "properties": {
        "dbtCatalogFilePath": {
          "title": "DBT Catalog File Path",
          "description": "DBT catalog file path to extract dbt models with their column schemas.",
          "type": "string"
        },
        "dbtManifestFilePath": {
          "title": "DBT Manifest File Path",
          "description": "DBT manifest file path to extract dbt models and associate with tables.",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": ["dbtCatalogFilePath", "dbtManifestFilePath"]
    },
    "dbtHttpConfig": {
      "title": "DBT HTTP Config Source",
      "description": "DBT Catalog and Manifest HTTP path configuration.",
      "type": "object",
      "properties": {
        "dbtCatalogHttpPath": {
          "title": "DBT Catalog HTTP File Path",
          "description": "DBT catalog http file path to extract dbt models with their column schemas.",
          "type": "string"
        },
        "dbtManifestHttpPath": {
          "title": "DBT Manifest HTTP File Path",
          "description": "DBT manifest http file path to extract dbt models and associate with tables.",
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": ["dbtCatalogHttpPath", "dbtManifestHttpPath"]
    },
    "dbtS3Config": {
      "title": "DBT S3 Config Source",
      "description": "DBT Catalog and Manifest files in S3 bucket. We will search for catalog.json and manifest.json.",
      "properties": {
        "dbtSecurityConfig": {
          "title": "DBT S3 Security Config",
          "$ref": "../security/credentials/awsCredentials.json"
        },
        "dbtPrefixConfig": {
          "title": "DBT Prefix Config",
          "$ref": "#/definitions/dbtBucketDetails"
        }
      }
    },
    "dbtGCSConfig": {
      "title": "DBT GCS Config Source",
      "description": "DBT Catalog and Manifest files in GCS storage. We will search for catalog.json and manifest.json.",
      "properties": {
        "dbtSecurityConfig": {
          "title": "DBT GCS Security Config",
          "$ref": "../security/credentials/gcsCredentials.json"
        },
        "dbtPrefixConfig": {
          "title": "DBT Prefix Config",
          "$ref": "#/definitions/dbtBucketDetails"
        }
      }
    }
  },
  "properties": {
    "type": {
      "description": "Pipeline type",
      "$ref": "#/definitions/databaseMetadataConfigType",
      "default": "DatabaseMetadata"
    },
    "markDeletedTables": {
      "description": "Optional configuration to soft delete tables in OpenMetadata if the source tables are deleted.",
      "type": "boolean",
      "default": true
    },
    "includeTables": {
      "description": "Optional configuration to turn off fetching metadata for tables.",
      "type": "boolean",
      "default": true
    },
    "includeViews": {
      "description": "Optional configuration to turn off fetching metadata for views.",
      "type": "boolean",
      "default": true
    },
    "includeTags": {
      "description": "Optional configuration to turn off fetching metadata for tags.",
      "type": "boolean",
      "default": true
    },
    "schemaFilterPattern": {
      "description": "Regex to only fetch tables or databases that matches the pattern.",
      "$ref": "../type/filterPattern.json#/definitions/filterPattern"
    },
    "tableFilterPattern": {
      "description": "Regex exclude tables or databases that matches the pattern.",
      "$ref": "../type/filterPattern.json#/definitions/filterPattern"
    },
    "databaseFilterPattern": {
      "description": "Regex to only fetch databases that matches the pattern.",
      "$ref": "../type/filterPattern.json#/definitions/filterPattern"
    },
    "dbtConfigSource": {
      "title": "DBT Configuration Source",
      "description": "Available sources to fetch DBT catalog and manifest files.",
      "oneOf": [
        {
          "$ref": "#/definitions/dbtCloudConfig"
        },
        {
          "$ref": "#/definitions/dbtLocalConfig"
        },
        {
          "$ref": "#/definitions/dbtHttpConfig"
        },
        {
          "$ref": "#/definitions/dbtS3Config"
        },
        {
          "$ref": "#/definitions/dbtGCSConfig"
        }
      ]
    }
  },
  "additionalProperties": false
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy