diff --git a/openmetadata-docs/content/v1.6.x-SNAPSHOT/collate-menu.md b/openmetadata-docs/content/v1.6.x-SNAPSHOT/collate-menu.md index ded28af367f0..82fac496b597 100644 --- a/openmetadata-docs/content/v1.6.x-SNAPSHOT/collate-menu.md +++ b/openmetadata-docs/content/v1.6.x-SNAPSHOT/collate-menu.md @@ -358,6 +358,10 @@ site_menu: - category: Connectors / Pipeline / DataFactory / Run Externally url: /connectors/pipeline/datafactory/yaml + - category: Connectors / Pipeline / Stitch + url: /connectors/pipeline/stitch + - category: Connectors / Pipeline / Stitch / Run Externally + url: /connectors/pipeline/stitch/yaml - category: Connectors / Pipeline / Databricks Pipeline url: /connectors/pipeline/databricks-pipeline - category: Connectors / Pipeline / Databricks Pipeline / Run Externally diff --git a/openmetadata-docs/content/v1.6.x-SNAPSHOT/connectors/pipeline/stitch/index.md b/openmetadata-docs/content/v1.6.x-SNAPSHOT/connectors/pipeline/stitch/index.md new file mode 100644 index 000000000000..be368f2f4294 --- /dev/null +++ b/openmetadata-docs/content/v1.6.x-SNAPSHOT/connectors/pipeline/stitch/index.md @@ -0,0 +1,65 @@ +--- +title: Stitch +slug: /connectors/pipeline/stitch +collate: true +--- + +{% connectorDetailsHeader +name="Stitch" +stage="PROD" +platform="Collate" +availableFeatures=["Pipelines", "Lineage"] +unavailableFeatures=["Owners", "Tags", "Pipeline Status"] +/ %} + + +In this section, we provide guides and references to use the Stitch connector. + +Configure and schedule Stitch metadata and profiler workflows from the OpenMetadata UI: + +- [Requirements](#requirements) +- [Metadata Ingestion](#metadata-ingestion) + +{% partial file="/v1.6/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/pipeline/stitch/yaml"} /%} + +## Requirements + +To extract metadata from Stitch, User first need to crate API crednetials: +- `Token`: Token to access Stitch metadata. + + +## Metadata Ingestion + +{% partial + file="/v1.6/connectors/metadata-ingestion-ui.md" + variables={ + connector: "Stitch", + selectServicePath: "/images/v1.6/connectors/stitch/select-service.png", + addNewServicePath: "/images/v1.6/connectors/stitch/add-new-service.png", + serviceConnectionPath: "/images/v1.6/connectors/stitch/service-connection.png", + } +/%} + +{% stepsContainer %} +{% extraContent parentTagName="stepsContainer" %} + +#### Connection Details + +- **hostPort**: This parameter specifies the network location where your Stitch instance is accessible, combining both the hostname. It is based on the account and region where user has hosted his/her data pipelines. More about this you can check [here](https://www.stitchdata.com/docs/developers/import-api/api#base-urls) + +- **token**: Token to get access to Stitch metadata. This token is created by user after logging into stitch console. More about this, please check [here](https://www.stitchdata.com/docs/developers/import-api/guides/quick-start#obtain-api-credentials) + + +{% /extraContent %} + +{% partial file="/v1.6/connectors/test-connection.md" /%} + +{% partial file="/v1.6/connectors/pipeline/configure-ingestion.md" /%} + +{% partial file="/v1.6/connectors/ingestion-schedule-and-deploy.md" /%} + +{% /stepsContainer %} + +By successfully completing these steps, the lineage information for the service will be displayed. + +{% partial file="/v1.6/connectors/troubleshooting.md" /%} diff --git a/openmetadata-docs/content/v1.6.x-SNAPSHOT/connectors/pipeline/stitch/yaml.md b/openmetadata-docs/content/v1.6.x-SNAPSHOT/connectors/pipeline/stitch/yaml.md new file mode 100644 index 000000000000..1c4c1e8ce039 --- /dev/null +++ b/openmetadata-docs/content/v1.6.x-SNAPSHOT/connectors/pipeline/stitch/yaml.md @@ -0,0 +1,114 @@ +--- +title: Run the Stitch Connector Externally +slug: /connectors/pipeline/stitch/yaml +collate: true +--- + +{% connectorDetailsHeader +name="Stitch" +stage="PROD" +platform="Collate" +availableFeatures=["Pipelines", "Lineage"] +unavailableFeatures=["Owners", "Tags", "Pipeline Status"] +/ %} + + + +In this section, we provide guides and references to use the Stitch connector. + +Configure and schedule Stitch metadata and profiler workflows from the OpenMetadata UI: + +- [Requirements](#requirements) +- [Metadata Ingestion](#metadata-ingestion) + +{% partial file="/v1.6/connectors/ingestion-modes-tiles.md" variables={yamlPath: "/connectors/pipeline/stitch/yaml"} /%} + +## Requirements + +To extract metadata from Stitch, User first need to crate API crednetials: +- `Token`: Token to access Stitch metadata. + + +### Python Requirements + +{% partial file="/v1.6/connectors/python-requirements.md" /%} + +To run the Stitch ingestion, you will need to install: + +```bash +pip3 install "openmetadata-ingestion[stitch]" +``` + +## Metadata Ingestion + +All connectors are defined as JSON Schemas. +[Here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/pipeline/stitchConnection.json) +you can find the structure to create a connection to Stitch. + +In order to create and run a Metadata Ingestion workflow, we will follow +the steps to create a YAML configuration able to connect to the source, +process the Entities if needed, and reach the OpenMetadata server. + +The workflow is modeled around the following +[JSON Schema](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/workflow.json) + +### 1. Define the YAML Config + +This is a sample config for Stitch: + +{% codePreview %} + +{% codeInfoContainer %} + +#### Source Configuration - Service Connection + +{% codeInfo srNumber=1 %} + +**hostPort**: The hostname or IP address with the REST API enabled eg.`https://api.stitchdata.com` + +{% /codeInfo %} + +{% codeInfo srNumber=2 %} + +**token**: Token to get access to Stitch metadata. + +{% /codeInfo %} + + +{% partial file="/v1.6/connectors/yaml/pipeline/source-config-def.md" /%} + +{% partial file="/v1.6/connectors/yaml/ingestion-sink-def.md" /%} + +{% partial file="/v1.6/connectors/yaml/workflow-config-def.md" /%} + +{% /codeInfoContainer %} + +{% codeBlock fileName="filename.yaml" %} + + +```yaml {% isCodeBlock=true %} +source: + type: stitch + serviceName: stitch_data + serviceConnection: + config: + type: Stitch +``` +```yaml {% srNumber=1 %} + hostPort: "https://api.stitchdata.com" +``` +```yaml {% srNumber=2 %} + token: "token" +``` + +{% partial file="/v1.6/connectors/yaml/pipeline/source-config.md" /%} + +{% partial file="/v1.6/connectors/yaml/ingestion-sink.md" /%} + +{% partial file="/v1.6/connectors/yaml/workflow-config.md" /%} + +{% /codeBlock %} + +{% /codePreview %} + +{% partial file="/v1.6/connectors/yaml/ingestion-cli.md" /%} diff --git a/openmetadata-docs/images/v1.6/connectors/stitch/add-new-service.png b/openmetadata-docs/images/v1.6/connectors/stitch/add-new-service.png new file mode 100644 index 000000000000..c80ef7dcacc9 Binary files /dev/null and b/openmetadata-docs/images/v1.6/connectors/stitch/add-new-service.png differ diff --git a/openmetadata-docs/images/v1.6/connectors/stitch/select-service.png b/openmetadata-docs/images/v1.6/connectors/stitch/select-service.png new file mode 100644 index 000000000000..41a9b28c87d2 Binary files /dev/null and b/openmetadata-docs/images/v1.6/connectors/stitch/select-service.png differ diff --git a/openmetadata-docs/images/v1.6/connectors/stitch/service-connection.png b/openmetadata-docs/images/v1.6/connectors/stitch/service-connection.png new file mode 100644 index 000000000000..0a2ee1ea8510 Binary files /dev/null and b/openmetadata-docs/images/v1.6/connectors/stitch/service-connection.png differ diff --git a/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Pipeline/Stitch.md b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Pipeline/Stitch.md new file mode 100644 index 000000000000..043d38de7ab9 --- /dev/null +++ b/openmetadata-ui/src/main/resources/ui/public/locales/en-US/Pipeline/Stitch.md @@ -0,0 +1,21 @@ +# Stitch + +In this section, we provide guides and references to use the Stitch connector. + +## Requirements: + +To extract metadata from Stitch, User first need to crate API crednetials: +- `Token`: Token to access Stitch metadata. + +## Connection Details + +$$section +### Host Port $(id="hostPort") +This parameter specifies the network location where your Stitch instance is accessible, combining both the hostname. +It is based on the account and region where user has hosted his/her data pipelines. More about this you can check [here](https://www.stitchdata.com/docs/developers/import-api/api#base-urls) +$$ + +$$section +### Token $(id="token") +Token to get access to Stitch metadata. This token is created by user after logging into stitch console. More about this, please check [here](https://www.stitchdata.com/docs/developers/import-api/guides/quick-start#obtain-api-credentials) +$$ diff --git a/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts b/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts index 690cae8dd6b5..6bc96a9852a8 100644 --- a/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts +++ b/openmetadata-ui/src/main/resources/ui/src/utils/ServiceUtilClassBase.ts @@ -146,6 +146,7 @@ class ServiceUtilClassBase { MlModelServiceType.VertexAI, PipelineServiceType.Matillion, PipelineServiceType.DataFactory, + PipelineServiceType.Stitch, ]; DatabaseServiceTypeSmallCase = this.convertEnumToLowerCase<