From 4f7b5ac5e690534721e54260cd9d17d6d39de7b8 Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Fri, 2 Dec 2022 09:13:47 +0000 Subject: [PATCH 01/18] feat(sql): Add SQL index on createdon field (#6522) --- docker/mariadb/init.sql | 2 ++ docker/mysql-setup/init.sql | 3 ++- docker/mysql/init.sql | 3 ++- docker/postgres-setup/init.sql | 2 ++ docker/postgres/init.sql | 2 ++ 5 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docker/mariadb/init.sql b/docker/mariadb/init.sql index 084fdc93a3717a..c4132575cf442c 100644 --- a/docker/mariadb/init.sql +++ b/docker/mariadb/init.sql @@ -11,6 +11,8 @@ create table metadata_aspect_v2 ( constraint pk_metadata_aspect_v2 primary key (urn,aspect,version) ); +create index timeIndex ON metadata_aspect_v2 (createdon); + insert into metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) values( 'urn:li:corpuser:datahub', 'corpUserInfo', diff --git a/docker/mysql-setup/init.sql b/docker/mysql-setup/init.sql index 6bd7133a359a89..78098af4648bce 100644 --- a/docker/mysql-setup/init.sql +++ b/docker/mysql-setup/init.sql @@ -12,7 +12,8 @@ create table if not exists metadata_aspect_v2 ( createdon datetime(6) not null, createdby varchar(255) not null, createdfor varchar(255), - constraint pk_metadata_aspect_v2 primary key (urn,aspect,version) + constraint pk_metadata_aspect_v2 primary key (urn,aspect,version), + INDEX timeIndex (createdon) ); -- create default records for datahub user if not exists diff --git a/docker/mysql/init.sql b/docker/mysql/init.sql index fa9d856f499e4e..97ae3ea1467445 100644 --- a/docker/mysql/init.sql +++ b/docker/mysql/init.sql @@ -8,7 +8,8 @@ CREATE TABLE metadata_aspect_v2 ( createdon datetime(6) NOT NULL, createdby VARCHAR(255) NOT NULL, createdfor VARCHAR(255), - CONSTRAINT pk_metadata_aspect_v2 PRIMARY KEY (urn,aspect,version) + constraint pk_metadata_aspect_v2 primary key (urn,aspect,version), + INDEX timeIndex (createdon) ) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; INSERT INTO metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) VALUES( diff --git a/docker/postgres-setup/init.sql b/docker/postgres-setup/init.sql index e7c515e7385acc..12fff7aec7fe6f 100644 --- a/docker/postgres-setup/init.sql +++ b/docker/postgres-setup/init.sql @@ -11,6 +11,8 @@ CREATE TABLE IF NOT EXISTS metadata_aspect_v2 ( CONSTRAINT pk_metadata_aspect_v2 PRIMARY KEY (urn, aspect, version) ); +create index timeIndex ON metadata_aspect_v2 (createdon); + -- create default records for datahub user if not exists CREATE TEMP TABLE temp_metadata_aspect_v2 AS TABLE metadata_aspect_v2; INSERT INTO temp_metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) VALUES( diff --git a/docker/postgres/init.sql b/docker/postgres/init.sql index 72298ed4b6726d..4da8adaf8a6da0 100644 --- a/docker/postgres/init.sql +++ b/docker/postgres/init.sql @@ -11,6 +11,8 @@ create table metadata_aspect_v2 ( constraint pk_metadata_aspect_v2 primary key (urn,aspect,version) ); +create index timeIndex ON metadata_aspect_v2 (createdon); + insert into metadata_aspect_v2 (urn, aspect, version, metadata, createdon, createdby) values( 'urn:li:corpuser:datahub', 'corpUserInfo', From 779d1cf3691269dae64db29e08f03a843069b1a4 Mon Sep 17 00:00:00 2001 From: Gabe Lyons Date: Fri, 2 Dec 2022 09:51:51 -0800 Subject: [PATCH 02/18] feat(ml model): updating view of ml model feature list (#6576) * updating view of ml model feature list * Update TableOfMlFeatures.tsx --- .../features/MlFeatureTableFeatures.tsx | 156 +----------------- .../profile/features/TableOfMlFeatures.tsx | 155 +++++++++++++++++ .../mlModel/profile/MlModelFeaturesTab.tsx | 10 +- datahub-web-react/src/graphql/mlModel.graphql | 16 +- 4 files changed, 184 insertions(+), 153 deletions(-) create mode 100644 datahub-web-react/src/app/entity/mlFeatureTable/profile/features/TableOfMlFeatures.tsx diff --git a/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/MlFeatureTableFeatures.tsx b/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/MlFeatureTableFeatures.tsx index 8f908e3a2e486b..7a3a933140e2d3 100644 --- a/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/MlFeatureTableFeatures.tsx +++ b/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/MlFeatureTableFeatures.tsx @@ -1,163 +1,23 @@ -import React, { useState } from 'react'; -import { Table, Typography } from 'antd'; -import { CheckSquareOutlined } from '@ant-design/icons'; -import { AlignType } from 'rc-table/lib/interface'; -import styled from 'styled-components'; -import { Link } from 'react-router-dom'; +import React from 'react'; -import MlFeatureDataTypeIcon from './MlFeatureDataTypeIcon'; -import { MlFeatureDataType, MlPrimaryKey, MlFeature } from '../../../../../types.generated'; +import { MlPrimaryKey, MlFeature } from '../../../../../types.generated'; import { GetMlFeatureTableQuery } from '../../../../../graphql/mlFeatureTable.generated'; -import { useBaseEntity, useRefetch } from '../../../shared/EntityContext'; +import { useBaseEntity } from '../../../shared/EntityContext'; import { notEmpty } from '../../../shared/utils'; -import TagTermGroup from '../../../../shared/tags/TagTermGroup'; -import SchemaDescriptionField from '../../../dataset/profile/schema/components/SchemaDescriptionField'; -import { useUpdateDescriptionMutation } from '../../../../../graphql/mutations.generated'; -import { useEntityRegistry } from '../../../../useEntityRegistry'; - -const FeaturesContainer = styled.div` - margin-bottom: 100px; -`; - -const defaultColumns = [ - { - title: 'Type', - dataIndex: 'dataType', - key: 'dataType', - width: 100, - align: 'left' as AlignType, - render: (dataType: MlFeatureDataType) => { - return ; - }, - }, -]; +import TableOfMlFeatures from './TableOfMlFeatures'; export default function MlFeatureTableFeatures() { const baseEntity = useBaseEntity(); - const refetch = useRefetch(); const featureTable = baseEntity?.mlFeatureTable; - const [updateDescription] = useUpdateDescriptionMutation(); - const entityRegistry = useEntityRegistry(); - - const [tagHoveredIndex, setTagHoveredIndex] = useState(undefined); - const features = + const features = ( featureTable?.properties && (featureTable?.properties?.mlFeatures || featureTable?.properties?.mlPrimaryKeys) ? [ ...(featureTable?.properties?.mlPrimaryKeys || []), ...(featureTable?.properties?.mlFeatures || []), ].filter(notEmpty) - : []; - - const onTagTermCell = (record: any, rowIndex: number | undefined) => ({ - onMouseEnter: () => { - setTagHoveredIndex(`${record.urn}-${rowIndex}`); - }, - onMouseLeave: () => { - setTagHoveredIndex(undefined); - }, - }); - - const nameColumn = { - title: 'Name', - dataIndex: 'name', - key: 'name', - width: 100, - render: (name: string, feature: MlFeature | MlPrimaryKey) => ( - - {name} - - ), - }; - - const descriptionColumn = { - title: 'Description', - dataIndex: 'description', - key: 'description', - render: (_, feature: MlFeature | MlPrimaryKey) => ( - - updateDescription({ - variables: { - input: { - description: updatedDescription, - resourceUrn: feature.urn, - }, - }, - }).then(refetch) - } - /> - ), - width: 300, - }; - - const tagColumn = { - width: 125, - title: 'Tags', - dataIndex: 'tags', - key: 'tags', - render: (_, feature: MlFeature | MlPrimaryKey, rowIndex: number) => ( - setTagHoveredIndex(undefined)} - entityUrn={feature.urn} - entityType={feature.type} - refetch={refetch} - /> - ), - onCell: onTagTermCell, - }; - - const termColumn = { - width: 125, - title: 'Terms', - dataIndex: 'glossaryTerms', - key: 'glossarTerms', - render: (_, feature: MlFeature | MlPrimaryKey, rowIndex: number) => ( - setTagHoveredIndex(undefined)} - entityUrn={feature.urn} - entityType={feature.type} - refetch={refetch} - /> - ), - onCell: onTagTermCell, - }; - - const primaryKeyColumn = { - title: 'Primary Key', - dataIndex: 'primaryKey', - key: 'primaryKey', - render: (_: any, record: MlFeature | MlPrimaryKey) => - record.__typename === 'MLPrimaryKey' ? : null, - width: 50, - }; - - const allColumns = [...defaultColumns, nameColumn, descriptionColumn, tagColumn, termColumn, primaryKeyColumn]; + : [] + ) as Array; - return ( - - {features && features.length > 0 && ( - `${record.dataType}-${record.name}`} - expandable={{ defaultExpandAllRows: true, expandRowByClick: true }} - pagination={false} - /> - )} - - ); + return ; } diff --git a/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/TableOfMlFeatures.tsx b/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/TableOfMlFeatures.tsx new file mode 100644 index 00000000000000..cf0bb808b3278d --- /dev/null +++ b/datahub-web-react/src/app/entity/mlFeatureTable/profile/features/TableOfMlFeatures.tsx @@ -0,0 +1,155 @@ +import React, { useState } from 'react'; +import { Table, Typography } from 'antd'; +import { CheckSquareOutlined } from '@ant-design/icons'; +import { AlignType } from 'rc-table/lib/interface'; +import styled from 'styled-components'; +import { Link } from 'react-router-dom'; + +import MlFeatureDataTypeIcon from './MlFeatureDataTypeIcon'; +import { MlFeatureDataType, MlPrimaryKey, MlFeature } from '../../../../../types.generated'; +import { useRefetch } from '../../../shared/EntityContext'; +import TagTermGroup from '../../../../shared/tags/TagTermGroup'; +import SchemaDescriptionField from '../../../dataset/profile/schema/components/SchemaDescriptionField'; +import { useUpdateDescriptionMutation } from '../../../../../graphql/mutations.generated'; +import { useEntityRegistry } from '../../../../useEntityRegistry'; + +const FeaturesContainer = styled.div` + margin-bottom: 100px; +`; + +const defaultColumns = [ + { + title: 'Type', + dataIndex: 'dataType', + key: 'dataType', + width: 100, + align: 'left' as AlignType, + render: (dataType: MlFeatureDataType) => { + return ; + }, + }, +]; + +type Props = { + features: Array; +}; + +export default function TableOfMlFeatures({ features }: Props) { + const refetch = useRefetch(); + const [updateDescription] = useUpdateDescriptionMutation(); + const entityRegistry = useEntityRegistry(); + + const [tagHoveredIndex, setTagHoveredIndex] = useState(undefined); + + const onTagTermCell = (record: any, rowIndex: number | undefined) => ({ + onMouseEnter: () => { + setTagHoveredIndex(`${record.urn}-${rowIndex}`); + }, + onMouseLeave: () => { + setTagHoveredIndex(undefined); + }, + }); + + const nameColumn = { + title: 'Name', + dataIndex: 'name', + key: 'name', + width: 100, + render: (name: string, feature: MlFeature | MlPrimaryKey) => ( + + {name} + + ), + }; + + const descriptionColumn = { + title: 'Description', + dataIndex: 'description', + key: 'description', + render: (_, feature: MlFeature | MlPrimaryKey) => ( + + updateDescription({ + variables: { + input: { + description: updatedDescription, + resourceUrn: feature.urn, + }, + }, + }).then(refetch) + } + /> + ), + width: 300, + }; + + const tagColumn = { + width: 125, + title: 'Tags', + dataIndex: 'tags', + key: 'tags', + render: (_, feature: MlFeature | MlPrimaryKey, rowIndex: number) => ( + setTagHoveredIndex(undefined)} + entityUrn={feature.urn} + entityType={feature.type} + refetch={refetch} + /> + ), + onCell: onTagTermCell, + }; + + const termColumn = { + width: 125, + title: 'Terms', + dataIndex: 'glossaryTerms', + key: 'glossaryTerms', + render: (_, feature: MlFeature | MlPrimaryKey, rowIndex: number) => ( + setTagHoveredIndex(undefined)} + entityUrn={feature.urn} + entityType={feature.type} + refetch={refetch} + /> + ), + onCell: onTagTermCell, + }; + + const primaryKeyColumn = { + title: 'Primary Key', + dataIndex: 'primaryKey', + key: 'primaryKey', + render: (_: any, record: MlFeature | MlPrimaryKey) => + record.__typename === 'MLPrimaryKey' ? : null, + width: 50, + }; + + const allColumns = [...defaultColumns, nameColumn, descriptionColumn, tagColumn, termColumn, primaryKeyColumn]; + + return ( + + {features && features.length > 0 && ( +
`${record.dataType}-${record.name}`} + expandable={{ defaultExpandAllRows: true, expandRowByClick: true }} + pagination={false} + /> + )} + + ); +} diff --git a/datahub-web-react/src/app/entity/mlModel/profile/MlModelFeaturesTab.tsx b/datahub-web-react/src/app/entity/mlModel/profile/MlModelFeaturesTab.tsx index 65c6a0c9b84a72..b8dc64793c2256 100644 --- a/datahub-web-react/src/app/entity/mlModel/profile/MlModelFeaturesTab.tsx +++ b/datahub-web-react/src/app/entity/mlModel/profile/MlModelFeaturesTab.tsx @@ -1,15 +1,17 @@ import React from 'react'; -import { EntityType } from '../../../../types.generated'; +import { MlPrimaryKey, MlFeature } from '../../../../types.generated'; import { useBaseEntity } from '../../shared/EntityContext'; import { GetMlModelQuery } from '../../../../graphql/mlModel.generated'; -import { EntityList } from '../../shared/tabs/Entity/components/EntityList'; +import TableOfMlFeatures from '../../mlFeatureTable/profile/features/TableOfMlFeatures'; export default function MlModelFeaturesTab() { const entity = useBaseEntity() as GetMlModelQuery; const model = entity && entity.mlModel; - const features = model?.features?.relationships.map((relationship) => relationship.entity); + const features = model?.features?.relationships.map((relationship) => relationship.entity) as Array< + MlFeature | MlPrimaryKey + >; - return ; + return ; } diff --git a/datahub-web-react/src/graphql/mlModel.graphql b/datahub-web-react/src/graphql/mlModel.graphql index 5d60be86a31c2b..91280f0904c558 100644 --- a/datahub-web-react/src/graphql/mlModel.graphql +++ b/datahub-web-react/src/graphql/mlModel.graphql @@ -8,7 +8,21 @@ query getMLModel($urn: String!) { ...partialLineageResults } features: relationships(input: { types: ["Consumes"], direction: OUTGOING, start: 0, count: 100 }) { - ...fullRelationshipResults + start + count + total + relationships { + type + direction + entity { + ... on MLFeature { + ...nonRecursiveMLFeature + } + ... on MLPrimaryKey { + ...nonRecursiveMLPrimaryKey + } + } + } } } } From 43775ecd499a19b171335b8e5ce1a9708f013b9b Mon Sep 17 00:00:00 2001 From: Tamas Nemeth Date: Fri, 2 Dec 2022 19:26:53 +0100 Subject: [PATCH 03/18] fix(ingest/bigquery): ignore complex types from profiling (#6613) --- .../datahub/ingestion/source/bigquery_v2/profiler.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/profiler.py b/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/profiler.py index 726b54e58629fb..d58457534977ac 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/profiler.py +++ b/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/profiler.py @@ -165,6 +165,16 @@ def get_workunits( continue for table in tables[project][dataset]: + for column in table.columns: + # Profiler has issues with complex types (array, struct, geography, json), so we deny those types from profiling + # We also filter columns without data type as it means that column is part of a complex type. + if not column.data_type or any( + word in column.data_type.lower() + for word in ["array", "struct", "geography", "json"] + ): + self.config.profile_pattern.deny.append( + f"^{project}.{dataset}.{table.name}.{column.field_path}$" + ) # Emit the profile work unit profile_request = self.get_bigquery_profile_request( project=project, dataset=dataset, table=table From 1689212434150c5d22553ce38a466b7ae204f0b8 Mon Sep 17 00:00:00 2001 From: Mayuri Nehate <33225191+mayurinehate@users.noreply.github.com> Date: Sat, 3 Dec 2022 00:08:46 +0530 Subject: [PATCH 04/18] feat(ingest): add external url for snowflake objects (#6580) --- .../source/snowflake/snowflake_config.py | 5 + .../source/snowflake/snowflake_utils.py | 59 ++ .../source/snowflake/snowflake_v2.py | 37 + .../snowflake-beta/snowflake_beta_golden.json | 24 +- .../snowflake_privatelink_beta_golden.json | 828 ++++++++++++++++++ .../snowflake-beta/test_snowflake_beta.py | 60 +- 6 files changed, 1000 insertions(+), 13 deletions(-) create mode 100644 metadata-ingestion/tests/integration/snowflake-beta/snowflake_privatelink_beta_golden.json diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py index b6729bd43f647e..1f61a883cd4a02 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py @@ -44,6 +44,11 @@ class SnowflakeV2Config(SnowflakeConfig, SnowflakeUsageConfig): description="For details, refer [Classification](../../../../metadata-ingestion/docs/dev_guides/classification.md).", ) + include_external_url: bool = Field( + default=True, + description="Whether to populate Snowsight url for Snowflake Objects", + ) + @root_validator(pre=False) def validate_unsupported_configs(cls, values: Dict) -> Dict: diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py index fe95a36a1e242d..dadae620956c70 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py @@ -1,4 +1,6 @@ import logging +from enum import Enum +from functools import lru_cache from typing import Any, Optional from snowflake.connector import SnowflakeConnection @@ -12,6 +14,18 @@ from datahub.metadata.com.linkedin.pegasus2avro.events.metadata import ChangeType from datahub.metadata.schema_classes import _Aspect +logger: logging.Logger = logging.getLogger(__name__) + + +class SnowflakeCloudProvider(str, Enum): + AWS = "aws" + GCP = "gcp" + AZURE = "azure" + + +SNOWFLAKE_DEFAULT_CLOUD_REGION_ID = "us-west-2" +SNOWFLAKE_DEFAULT_CLOUD = SnowflakeCloudProvider.AWS + # Required only for mypy, since we are using mixin classes, and not inheritance. # Reference - https://mypy.readthedocs.io/en/latest/more_types.html#mixin-classes @@ -59,6 +73,51 @@ class SnowflakeCommonMixin: platform = "snowflake" + @staticmethod + @lru_cache(maxsize=128) + def create_snowsight_base_url(account_id: str) -> Optional[str]: + cloud: Optional[str] = None + account_locator: Optional[str] = None + cloud_region_id: Optional[str] = None + privatelink: bool = False + + if "." not in account_id: # e.g. xy12345 + account_locator = account_id.lower() + cloud_region_id = SNOWFLAKE_DEFAULT_CLOUD_REGION_ID + else: + parts = account_id.split(".") + if len(parts) == 2: # e.g. xy12345.us-east-1 + account_locator = parts[0].lower() + cloud_region_id = parts[1].lower() + elif len(parts) == 3 and parts[2] in ( + SnowflakeCloudProvider.AWS, + SnowflakeCloudProvider.GCP, + SnowflakeCloudProvider.AZURE, + ): + # e.g. xy12345.ap-south-1.aws or xy12345.us-central1.gcp or xy12345.west-us-2.azure + # NOT xy12345.us-west-2.privatelink or xy12345.eu-central-1.privatelink + account_locator = parts[0].lower() + cloud_region_id = parts[1].lower() + cloud = parts[2].lower() + elif len(parts) == 3 and parts[2] == "privatelink": + account_locator = parts[0].lower() + cloud_region_id = parts[1].lower() + privatelink = True + else: + logger.warning( + f"Could not create Snowsight base url for account {account_id}." + ) + return None + + if not privatelink and (cloud is None or cloud == SNOWFLAKE_DEFAULT_CLOUD): + return f"https://app.snowflake.com/{cloud_region_id}/{account_locator}/" + elif privatelink: + return f"https://app.{account_locator}.{cloud_region_id}.privatelink.snowflakecomputing.com/" + return f"https://app.snowflake.com/{cloud_region_id}.{cloud}/{account_locator}/" + + def get_snowsight_base_url(self: SnowflakeCommonProtocol) -> Optional[str]: + return SnowflakeCommonMixin.create_snowsight_base_url(self.config.get_account()) + def _is_dataset_pattern_allowed( self: SnowflakeCommonProtocol, dataset_name: Optional[str], diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py index 5cee4cb719dbed..352da03ce83f56 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py @@ -646,6 +646,14 @@ def gen_dataset_workunits( description=table.comment, qualifiedName=dataset_name, customProperties={**upstream_column_props}, + externalUrl=self.get_external_url_for_table( + table.name, + schema_name, + db_name, + "table" if isinstance(table, SnowflakeTable) else "view", + ) + if self.config.include_external_url + else None, ) yield self.wrap_aspect_as_workunit( "dataset", dataset_urn, "datasetProperties", dataset_properties @@ -889,6 +897,9 @@ def gen_database_containers( description=database.comment, sub_types=[SqlContainerSubTypes.DATABASE], domain_urn=domain_urn, + external_url=self.get_external_url_for_database(database.name) + if self.config.include_external_url + else None, ) self.stale_entity_removal_handler.add_entity_to_state( @@ -922,6 +933,9 @@ def gen_schema_containers( description=schema.comment, sub_types=[SqlContainerSubTypes.SCHEMA], parent_container_key=database_container_key, + external_url=self.get_external_url_for_schema(schema.name, db_name) + if self.config.include_external_url + else None, ) for wu in container_workunits: @@ -1077,3 +1091,26 @@ def get_sample_values_for_table(self, conn, table_name, schema_name, db_name): df = pd.DataFrame(dat, columns=[col.name for col in cur.description]) return df + + # domain is either "view" or "table" + def get_external_url_for_table( + self, table_name: str, schema_name: str, db_name: str, domain: str + ) -> Optional[str]: + base_url = self.get_snowsight_base_url() + if base_url is not None: + return f"{base_url}#/data/databases/{db_name}/schemas/{schema_name}/{domain}/{table_name}/" + return None + + def get_external_url_for_schema( + self, schema_name: str, db_name: str + ) -> Optional[str]: + base_url = self.get_snowsight_base_url() + if base_url is not None: + return f"{base_url}#/data/databases/{db_name}/schemas/{schema_name}/" + return None + + def get_external_url_for_database(self, db_name: str) -> Optional[str]: + base_url = self.get_snowsight_base_url() + if base_url is not None: + return f"{base_url}#/data/databases/{db_name}/" + return None diff --git a/metadata-ingestion/tests/integration/snowflake-beta/snowflake_beta_golden.json b/metadata-ingestion/tests/integration/snowflake-beta/snowflake_beta_golden.json index 69ce2d646c9939..68c572788cfdfc 100644 --- a/metadata-ingestion/tests/integration/snowflake-beta/snowflake_beta_golden.json +++ b/metadata-ingestion/tests/integration/snowflake-beta/snowflake_beta_golden.json @@ -5,7 +5,7 @@ "changeType": "UPSERT", "aspectName": "containerProperties", "aspect": { - "value": "{\"customProperties\": {\"platform\": \"snowflake\", \"instance\": \"PROD\", \"database\": \"test_db\"}, \"name\": \"TEST_DB\", \"description\": \"Comment for TEST_DB\"}", + "value": "{\"customProperties\": {\"platform\": \"snowflake\", \"instance\": \"PROD\", \"database\": \"test_db\"}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/\", \"name\": \"TEST_DB\", \"description\": \"Comment for TEST_DB\"}", "contentType": "application/json" }, "systemMetadata": { @@ -61,7 +61,7 @@ "changeType": "UPSERT", "aspectName": "containerProperties", "aspect": { - "value": "{\"customProperties\": {\"platform\": \"snowflake\", \"instance\": \"PROD\", \"database\": \"test_db\", \"schema\": \"test_schema\"}, \"name\": \"TEST_SCHEMA\", \"description\": \"comment for TEST_DB.TEST_SCHEMA\"}", + "value": "{\"customProperties\": {\"platform\": \"snowflake\", \"instance\": \"PROD\", \"database\": \"test_db\", \"schema\": \"test_schema\"}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/\", \"name\": \"TEST_SCHEMA\", \"description\": \"comment for TEST_DB.TEST_SCHEMA\"}", "contentType": "application/json" }, "systemMetadata": { @@ -159,7 +159,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_1\", \"qualifiedName\": \"test_db.test_schema.table_1\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_1/\", \"name\": \"TABLE_1\", \"qualifiedName\": \"test_db.test_schema.table_1\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -243,7 +243,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_2\", \"qualifiedName\": \"test_db.test_schema.table_2\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_2/\", \"name\": \"TABLE_2\", \"qualifiedName\": \"test_db.test_schema.table_2\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -327,7 +327,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_3\", \"qualifiedName\": \"test_db.test_schema.table_3\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_3/\", \"name\": \"TABLE_3\", \"qualifiedName\": \"test_db.test_schema.table_3\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -411,7 +411,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_4\", \"qualifiedName\": \"test_db.test_schema.table_4\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_4/\", \"name\": \"TABLE_4\", \"qualifiedName\": \"test_db.test_schema.table_4\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -495,7 +495,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_5\", \"qualifiedName\": \"test_db.test_schema.table_5\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_5/\", \"name\": \"TABLE_5\", \"qualifiedName\": \"test_db.test_schema.table_5\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -579,7 +579,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_6\", \"qualifiedName\": \"test_db.test_schema.table_6\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_6/\", \"name\": \"TABLE_6\", \"qualifiedName\": \"test_db.test_schema.table_6\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -663,7 +663,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_7\", \"qualifiedName\": \"test_db.test_schema.table_7\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_7/\", \"name\": \"TABLE_7\", \"qualifiedName\": \"test_db.test_schema.table_7\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -747,7 +747,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_8\", \"qualifiedName\": \"test_db.test_schema.table_8\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_8/\", \"name\": \"TABLE_8\", \"qualifiedName\": \"test_db.test_schema.table_8\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -831,7 +831,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_9\", \"qualifiedName\": \"test_db.test_schema.table_9\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_9/\", \"name\": \"TABLE_9\", \"qualifiedName\": \"test_db.test_schema.table_9\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { @@ -915,7 +915,7 @@ "changeType": "UPSERT", "aspectName": "datasetProperties", "aspect": { - "value": "{\"customProperties\": {}, \"name\": \"TABLE_10\", \"qualifiedName\": \"test_db.test_schema.table_10\", \"description\": \"Comment for Table\", \"tags\": []}", + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.snowflake.com/ap-south-1/abc12345/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_10/\", \"name\": \"TABLE_10\", \"qualifiedName\": \"test_db.test_schema.table_10\", \"description\": \"Comment for Table\", \"tags\": []}", "contentType": "application/json" }, "systemMetadata": { diff --git a/metadata-ingestion/tests/integration/snowflake-beta/snowflake_privatelink_beta_golden.json b/metadata-ingestion/tests/integration/snowflake-beta/snowflake_privatelink_beta_golden.json new file mode 100644 index 00000000000000..542d07ebe6e3f3 --- /dev/null +++ b/metadata-ingestion/tests/integration/snowflake-beta/snowflake_privatelink_beta_golden.json @@ -0,0 +1,828 @@ +[ +{ + "entityType": "container", + "entityUrn": "urn:li:container:5e359958be02ce647cd9ac196dbd4585", + "changeType": "UPSERT", + "aspectName": "containerProperties", + "aspect": { + "value": "{\"customProperties\": {\"platform\": \"snowflake\", \"instance\": \"PROD\", \"database\": \"test_db\"}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/\", \"name\": \"TEST_DB\", \"description\": \"Comment for TEST_DB\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:5e359958be02ce647cd9ac196dbd4585", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:5e359958be02ce647cd9ac196dbd4585", + "changeType": "UPSERT", + "aspectName": "dataPlatformInstance", + "aspect": { + "value": "{\"platform\": \"urn:li:dataPlatform:snowflake\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:5e359958be02ce647cd9ac196dbd4585", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"Database\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:94c696a054bab40b73e640a7f82e3b1c", + "changeType": "UPSERT", + "aspectName": "containerProperties", + "aspect": { + "value": "{\"customProperties\": {\"platform\": \"snowflake\", \"instance\": \"PROD\", \"database\": \"test_db\", \"schema\": \"test_schema\"}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/\", \"name\": \"TEST_SCHEMA\", \"description\": \"comment for TEST_DB.TEST_SCHEMA\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:94c696a054bab40b73e640a7f82e3b1c", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:94c696a054bab40b73e640a7f82e3b1c", + "changeType": "UPSERT", + "aspectName": "dataPlatformInstance", + "aspect": { + "value": "{\"platform\": \"urn:li:dataPlatform:snowflake\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:94c696a054bab40b73e640a7f82e3b1c", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"Schema\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "container", + "entityUrn": "urn:li:container:94c696a054bab40b73e640a7f82e3b1c", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:5e359958be02ce647cd9ac196dbd4585\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_1,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_1,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_1\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_1,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_1/\", \"name\": \"TABLE_1\", \"qualifiedName\": \"test_db.test_schema.table_1\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_1,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_1,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_2,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_2,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_2\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_2,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_2/\", \"name\": \"TABLE_2\", \"qualifiedName\": \"test_db.test_schema.table_2\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_2,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_2,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_3,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_3,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_3\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_3,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_3/\", \"name\": \"TABLE_3\", \"qualifiedName\": \"test_db.test_schema.table_3\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_3,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_3,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_4,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_4,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_4\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_4,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_4/\", \"name\": \"TABLE_4\", \"qualifiedName\": \"test_db.test_schema.table_4\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_4,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_4,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_5,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_5,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_5\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_5,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_5/\", \"name\": \"TABLE_5\", \"qualifiedName\": \"test_db.test_schema.table_5\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_5,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_5,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_6,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_6,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_6\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_6,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_6/\", \"name\": \"TABLE_6\", \"qualifiedName\": \"test_db.test_schema.table_6\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_6,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_6,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_7,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_7,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_7\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_7,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_7/\", \"name\": \"TABLE_7\", \"qualifiedName\": \"test_db.test_schema.table_7\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_7,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_7,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_8,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_8,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_8\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_8,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_8/\", \"name\": \"TABLE_8\", \"qualifiedName\": \"test_db.test_schema.table_8\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_8,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_8,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_9,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_9,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_9\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_9,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_9/\", \"name\": \"TABLE_9\", \"qualifiedName\": \"test_db.test_schema.table_9\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_9,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_9,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_10,PROD)", + "changeType": "UPSERT", + "aspectName": "status", + "aspect": { + "value": "{\"removed\": false}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_10,PROD)", + "changeType": "UPSERT", + "aspectName": "schemaMetadata", + "aspect": { + "value": "{\"schemaName\": \"test_db.test_schema.table_10\", \"platform\": \"urn:li:dataPlatform:snowflake\", \"version\": 0, \"created\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"lastModified\": {\"time\": 0, \"actor\": \"urn:li:corpuser:unknown\"}, \"hash\": \"\", \"platformSchema\": {\"com.linkedin.schema.MySqlDDL\": {\"tableSchema\": \"\"}}, \"fields\": [{\"fieldPath\": \"col_1\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.NumberType\": {}}}, \"nativeDataType\": \"NUMBER(38,0)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_2\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_3\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_4\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_5\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_6\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_7\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_8\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_9\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}, {\"fieldPath\": \"col_10\", \"nullable\": false, \"description\": \"Comment for column\", \"type\": {\"type\": {\"com.linkedin.schema.StringType\": {}}}, \"nativeDataType\": \"VARCHAR(255)\", \"recursive\": false, \"isPartOfKey\": false}]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_10,PROD)", + "changeType": "UPSERT", + "aspectName": "datasetProperties", + "aspect": { + "value": "{\"customProperties\": {}, \"externalUrl\": \"https://app.abc12345.ap-south-1.privatelink.snowflakecomputing.com/#/data/databases/TEST_DB/schemas/TEST_SCHEMA/table/TABLE_10/\", \"name\": \"TABLE_10\", \"qualifiedName\": \"test_db.test_schema.table_10\", \"description\": \"Comment for Table\", \"tags\": []}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_10,PROD)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "value": "{\"container\": \"urn:li:container:94c696a054bab40b73e640a7f82e3b1c\"}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +}, +{ + "entityType": "dataset", + "entityUrn": "urn:li:dataset:(urn:li:dataPlatform:snowflake,test_db.test_schema.table_10,PROD)", + "changeType": "UPSERT", + "aspectName": "subTypes", + "aspect": { + "value": "{\"typeNames\": [\"table\"]}", + "contentType": "application/json" + }, + "systemMetadata": { + "lastObserved": 1654621200000, + "runId": "snowflake-beta-2022_06_07-17_00_00" + } +} +] \ No newline at end of file diff --git a/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py b/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py index 00d0c94815fa7c..cb09b529b0d384 100644 --- a/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py +++ b/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py @@ -335,7 +335,7 @@ def test_snowflake_basic(pytestconfig, tmp_path, mock_time, mock_datahub_graph): source=SourceConfig( type="snowflake", config=SnowflakeV2Config( - account_id="ABC12345", + account_id="ABC12345.ap-south-1.aws", username="TST_USR", password="TST_PWD", include_views=False, @@ -381,3 +381,61 @@ def test_snowflake_basic(pytestconfig, tmp_path, mock_time, mock_datahub_graph): golden_path=golden_file, ignore_paths=[], ) + + +@freeze_time(FROZEN_TIME) +def test_snowflake_private_link(pytestconfig, tmp_path, mock_time, mock_datahub_graph): + test_resources_dir = pytestconfig.rootpath / "tests/integration/snowflake-beta" + + # Run the metadata ingestion pipeline. + output_file = tmp_path / "snowflake_privatelink_test_events.json" + golden_file = test_resources_dir / "snowflake_privatelink_beta_golden.json" + + with mock.patch("snowflake.connector.connect") as mock_connect: + sf_connection = mock.MagicMock() + sf_cursor = mock.MagicMock() + mock_connect.return_value = sf_connection + sf_connection.cursor.return_value = sf_cursor + sf_cursor.execute.side_effect = default_query_results + + pipeline = Pipeline( + config=PipelineConfig( + run_id="snowflake-beta-2022_06_07-17_00_00", + source=SourceConfig( + type="snowflake", + config=SnowflakeV2Config( + account_id="ABC12345.ap-south-1.privatelink", + username="TST_USR", + password="TST_PWD", + include_views=False, + table_pattern=AllowDenyPattern(allow=["test_db.test_schema.*"]), + include_technical_schema=True, + include_table_lineage=False, + include_view_lineage=False, + include_usage_stats=False, + include_operational_stats=False, + start_time=datetime(2022, 6, 6, 7, 17, 0, 0).replace( + tzinfo=timezone.utc + ), + end_time=datetime(2022, 6, 7, 7, 17, 0, 0).replace( + tzinfo=timezone.utc + ), + ), + ), + sink=DynamicTypedConfig( + type="file", config={"filename": str(output_file)} + ), + ) + ) + pipeline.run() + pipeline.pretty_print_summary() + pipeline.raise_from_status() + + # Verify the output. + + mce_helpers.check_golden_file( + pytestconfig, + output_path=output_file, + golden_path=golden_file, + ignore_paths=[], + ) From 44cfd21a653e23f869526a3c1a83e11d51b42a86 Mon Sep 17 00:00:00 2001 From: Harshal Sheth Date: Fri, 2 Dec 2022 13:53:28 -0500 Subject: [PATCH 05/18] chore(ingest): bump and pin mypy (#6584) --- metadata-ingestion/setup.cfg | 9 +++++++++ metadata-ingestion/setup.py | 8 ++------ .../src/datahub/api/graphql/operation.py | 2 -- .../src/datahub/configuration/common.py | 2 +- .../src/datahub/ingestion/api/source.py | 7 ++++++- .../src/datahub/ingestion/api/workunit.py | 8 ++++---- .../ingestion/source/bigquery_v2/bigquery_schema.py | 4 +++- .../datahub/ingestion/source/ge_data_profiler.py | 4 ++-- .../src/datahub/ingestion/source/kafka_connect.py | 4 +++- .../src/datahub/ingestion/source/openapi_parser.py | 13 ++++++++----- .../src/datahub/ingestion/source/redash.py | 2 +- .../src/datahub/ingestion/source/salesforce.py | 2 +- .../ingestion/source/snowflake/snowflake_config.py | 2 +- .../src/datahub/ingestion/source/sql/oracle.py | 4 +++- .../src/datahub/ingestion/source/sql/presto.py | 3 ++- .../src/datahub/ingestion/source/sql/redshift.py | 2 +- .../src/datahub/ingestion/source/sql/sql_common.py | 8 ++++---- .../src/datahub/ingestion/source/sql/trino.py | 2 +- .../src/datahub/ingestion/source/tableau.py | 5 ++++- .../ingestion/source/usage/bigquery_usage.py | 2 +- .../ingestion/source_config/sql/snowflake.py | 2 +- .../integrations/great_expectations/action.py | 4 ++-- metadata-ingestion/src/datahub/utilities/mapping.py | 2 +- .../src/datahub_provider/lineage/datahub.py | 2 +- .../tests/test_helpers/docker_helpers.py | 2 +- metadata-ingestion/tests/unit/test_sql_common.py | 5 +---- 26 files changed, 64 insertions(+), 46 deletions(-) diff --git a/metadata-ingestion/setup.cfg b/metadata-ingestion/setup.cfg index b6d4f55a09e3a5..3f0e8ab611b054 100644 --- a/metadata-ingestion/setup.cfg +++ b/metadata-ingestion/setup.cfg @@ -27,6 +27,7 @@ plugins = exclude = ^(venv|build|dist)/ ignore_missing_imports = yes namespace_packages = no +implicit_optional = no strict_optional = yes check_untyped_defs = yes disallow_incomplete_defs = yes @@ -38,8 +39,16 @@ disallow_untyped_defs = no # try to be a bit more strict in certain areas of the codebase [mypy-datahub.*] ignore_missing_imports = no +[mypy-datahub_provider.*] +ignore_missing_imports = no [mypy-tests.*] ignore_missing_imports = no +[mypy-google.protobuf.*] +# mypy sometimes ignores the above ignore_missing_imports = yes +# See https://github.com/python/mypy/issues/10632 and +# https://github.com/python/mypy/issues/10619#issuecomment-1174208395 +# for a discussion of why this happens. +ignore_missing_imports = yes [mypy-datahub.configuration.*] disallow_untyped_defs = yes [mypy-datahub.emitter.*] diff --git a/metadata-ingestion/setup.py b/metadata-ingestion/setup.py index 1a744a6fe328a6..a63164f4021ea8 100644 --- a/metadata-ingestion/setup.py +++ b/metadata-ingestion/setup.py @@ -385,8 +385,7 @@ def get_long_description(): "types-ujson>=5.2.0", "types-termcolor>=1.0.0", "types-Deprecated", - # Mypy complains with 4.21.0.0 => error: Library stubs not installed for "google.protobuf.descriptor" - "types-protobuf<4.21.0.0", + "types-protobuf>=4.21.0.1", } base_dev_requirements = { @@ -399,10 +398,7 @@ def get_long_description(): "flake8>=3.8.3", "flake8-tidy-imports>=4.3.0", "isort>=5.7.0", - # mypy 0.990 enables namespace packages by default and sets - # no implicit optional to True. - # FIXME: Enable mypy 0.990 when our codebase is fixed. - "mypy>=0.981,<0.990", + "mypy==0.991", # pydantic 1.8.2 is incompatible with mypy 0.910. # See https://github.com/samuelcolvin/pydantic/pull/3175#issuecomment-995382910. # Restricting top version to <1.10 until we can fix our types. diff --git a/metadata-ingestion/src/datahub/api/graphql/operation.py b/metadata-ingestion/src/datahub/api/graphql/operation.py index 5e1575e6f75dd2..9cb40ce5815a56 100644 --- a/metadata-ingestion/src/datahub/api/graphql/operation.py +++ b/metadata-ingestion/src/datahub/api/graphql/operation.py @@ -122,8 +122,6 @@ def query_operations( "operationType": operation_type, "partition": partition, } - if filter - else None ), }, ) diff --git a/metadata-ingestion/src/datahub/configuration/common.py b/metadata-ingestion/src/datahub/configuration/common.py index e134a5a8495b91..95d852bbe7b606 100644 --- a/metadata-ingestion/src/datahub/configuration/common.py +++ b/metadata-ingestion/src/datahub/configuration/common.py @@ -80,7 +80,7 @@ class OperationalError(PipelineExecutionError): message: str info: dict - def __init__(self, message: str, info: dict = None): + def __init__(self, message: str, info: Optional[dict] = None): self.message = message self.info = info or {} diff --git a/metadata-ingestion/src/datahub/ingestion/api/source.py b/metadata-ingestion/src/datahub/ingestion/api/source.py index 70e5ce7db7e821..9f3740aa9f3eea 100644 --- a/metadata-ingestion/src/datahub/ingestion/api/source.py +++ b/metadata-ingestion/src/datahub/ingestion/api/source.py @@ -120,7 +120,12 @@ class Source(Closeable, metaclass=ABCMeta): @classmethod def create(cls, config_dict: dict, ctx: PipelineContext) -> "Source": - pass + # Technically, this method should be abstract. However, the @config_class + # decorator automatically generates a create method at runtime if one is + # not defined. Python still treats the class as abstract because it thinks + # the create method is missing. To avoid the class becoming abstract, we + # can't make this method abstract. + raise NotImplementedError('sources must implement "create"') @abstractmethod def get_workunits(self) -> Iterable[WorkUnit]: diff --git a/metadata-ingestion/src/datahub/ingestion/api/workunit.py b/metadata-ingestion/src/datahub/ingestion/api/workunit.py index 522bcd9fbdbf7e..53a77798f756c8 100644 --- a/metadata-ingestion/src/datahub/ingestion/api/workunit.py +++ b/metadata-ingestion/src/datahub/ingestion/api/workunit.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from typing import Iterable, Union, overload +from typing import Iterable, Optional, Union, overload from datahub.emitter.mcp import MetadataChangeProposalWrapper from datahub.ingestion.api.source import WorkUnit @@ -42,9 +42,9 @@ def __init__( def __init__( self, id: str, - mce: MetadataChangeEvent = None, - mcp: MetadataChangeProposalWrapper = None, - mcp_raw: MetadataChangeProposal = None, + mce: Optional[MetadataChangeEvent] = None, + mcp: Optional[MetadataChangeProposalWrapper] = None, + mcp_raw: Optional[MetadataChangeProposal] = None, treat_errors_as_warnings: bool = False, ): super().__init__(id) diff --git a/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_schema.py b/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_schema.py index 5de36facb6b98e..fa475f66d01208 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_schema.py +++ b/metadata-ingestion/src/datahub/ingestion/source/bigquery_v2/bigquery_schema.py @@ -2,7 +2,7 @@ from collections import defaultdict from dataclasses import dataclass, field from datetime import datetime, timezone -from typing import Dict, List, Optional +from typing import Dict, List, Optional, cast from google.cloud import bigquery from google.cloud.bigquery.table import RowIterator, TableListItem, TimePartitioning @@ -280,6 +280,8 @@ def get_projects(conn: bigquery.Client) -> List[BigqueryProject]: def get_datasets_for_project_id( conn: bigquery.Client, project_id: str, maxResults: Optional[int] = None ) -> List[BigqueryDataset]: + # FIXME: Due to a bug in BigQuery's type annotations, we need to cast here. + maxResults = cast(int, maxResults) datasets = conn.list_datasets(project_id, max_results=maxResults) return [BigqueryDataset(name=d.dataset_id) for d in datasets] diff --git a/metadata-ingestion/src/datahub/ingestion/source/ge_data_profiler.py b/metadata-ingestion/src/datahub/ingestion/source/ge_data_profiler.py index e6782a92e3f452..8860162660a4d7 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/ge_data_profiler.py +++ b/metadata-ingestion/src/datahub/ingestion/source/ge_data_profiler.py @@ -833,8 +833,8 @@ def _generate_single_profile( self, query_combiner: SQLAlchemyQueryCombiner, pretty_name: str, - schema: str = None, - table: str = None, + schema: Optional[str] = None, + table: Optional[str] = None, partition: Optional[str] = None, custom_sql: Optional[str] = None, platform: Optional[str] = None, diff --git a/metadata-ingestion/src/datahub/ingestion/source/kafka_connect.py b/metadata-ingestion/src/datahub/ingestion/source/kafka_connect.py index 0e3487eb927a16..431f90643d017d 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/kafka_connect.py +++ b/metadata-ingestion/src/datahub/ingestion/source/kafka_connect.py @@ -123,7 +123,9 @@ def remove_prefix(text: str, prefix: str) -> str: return text -def unquote(string: str, leading_quote: str = '"', trailing_quote: str = None) -> str: +def unquote( + string: str, leading_quote: str = '"', trailing_quote: Optional[str] = None +) -> str: """ If string starts and ends with a quote, unquote it """ diff --git a/metadata-ingestion/src/datahub/ingestion/source/openapi_parser.py b/metadata-ingestion/src/datahub/ingestion/source/openapi_parser.py index f33654daa15595..8d0421871694cd 100755 --- a/metadata-ingestion/src/datahub/ingestion/source/openapi_parser.py +++ b/metadata-ingestion/src/datahub/ingestion/source/openapi_parser.py @@ -2,7 +2,7 @@ import re import time import warnings -from typing import Any, Dict, Generator, List, Tuple +from typing import Any, Dict, Generator, List, Optional, Tuple import requests import yaml @@ -47,7 +47,10 @@ def flatten2list(d: dict) -> list: def request_call( - url: str, token: str = None, username: str = None, password: str = None + url: str, + token: Optional[str] = None, + username: Optional[str] = None, + password: Optional[str] = None, ) -> requests.Response: headers = {"accept": "application/json"} @@ -66,9 +69,9 @@ def request_call( def get_swag_json( url: str, - token: str = None, - username: str = None, - password: str = None, + token: Optional[str] = None, + username: Optional[str] = None, + password: Optional[str] = None, swagger_file: str = "", ) -> Dict: tot_url = url + swagger_file diff --git a/metadata-ingestion/src/datahub/ingestion/source/redash.py b/metadata-ingestion/src/datahub/ingestion/source/redash.py index c196e1a8cf684e..3a35c2190ff809 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/redash.py +++ b/metadata-ingestion/src/datahub/ingestion/source/redash.py @@ -402,7 +402,7 @@ def _get_sql_table_names(cls, sql: str, sql_parser_path: str) -> List[str]: return sql_table_names - def _get_chart_data_source(self, data_source_id: int = None) -> Dict: + def _get_chart_data_source(self, data_source_id: Optional[int] = None) -> Dict: url = f"/api/data_sources/{data_source_id}" resp = self.client._get(url).json() logger.debug(resp) diff --git a/metadata-ingestion/src/datahub/ingestion/source/salesforce.py b/metadata-ingestion/src/datahub/ingestion/source/salesforce.py index 7b9ab6dd789b9d..70cb7653f414e9 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/salesforce.py +++ b/metadata-ingestion/src/datahub/ingestion/source/salesforce.py @@ -735,7 +735,7 @@ def get_report(self) -> SourceReport: return self.report -def get_tags(params: List[str] = None) -> GlobalTagsClass: +def get_tags(params: Optional[List[str]] = None) -> GlobalTagsClass: if params is None: params = [] tags = [TagAssociationClass(tag=builder.make_tag_urn(tag)) for tag in params if tag] diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py index 1f61a883cd4a02..43a14228e0efdf 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py @@ -100,7 +100,7 @@ def validate_unsupported_configs(cls, values: Dict) -> Dict: def get_sql_alchemy_url( self, - database: str = None, + database: Optional[str] = None, username: Optional[str] = None, password: Optional[SecretStr] = None, role: Optional[str] = None, diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/oracle.py b/metadata-ingestion/src/datahub/ingestion/source/sql/oracle.py index 480ab2c46d588e..63712b39696f34 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/oracle.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/oracle.py @@ -103,7 +103,9 @@ def get_schema_names(self) -> List[str]: for row in cursor ] - def get_table_names(self, schema: str = None, order_by: str = None) -> List[str]: + def get_table_names( + self, schema: Optional[str] = None, order_by: Optional[str] = None + ) -> List[str]: """ skip order_by, we are not using order_by """ diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/presto.py b/metadata-ingestion/src/datahub/ingestion/source/sql/presto.py index 0583520c091e64..7cd022b76b38fd 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/presto.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/presto.py @@ -1,4 +1,5 @@ from textwrap import dedent +from typing import Optional from pydantic.fields import Field from pyhive.sqlalchemy_presto import PrestoDialect @@ -60,7 +61,7 @@ def get_view_definition(self, connection, view_name, schema=None, **kw): def _get_full_table( # type: ignore - self, table_name: str, schema: str = None, quote: bool = True + self, table_name: str, schema: Optional[str] = None, quote: bool = True ) -> str: table_part = ( self.identifier_preparer.quote_identifier(table_name) if quote else table_name diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/redshift.py b/metadata-ingestion/src/datahub/ingestion/source/sql/redshift.py index 9a30f2dc8637a0..19419f8d191cf0 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/redshift.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/redshift.py @@ -691,7 +691,7 @@ def _get_sources_from_query(self, db_name: str, query: str) -> List[LineageDatas return sources - def get_db_name(self, inspector: Inspector = None) -> str: + def get_db_name(self, inspector: Optional[Inspector] = None) -> str: db_name = getattr(self.config, "database") db_alias = getattr(self.config, "database_alias") if db_alias: diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/sql_common.py b/metadata-ingestion/src/datahub/ingestion/source/sql/sql_common.py index 23df9ec521c043..6dffda4e83649a 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/sql_common.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/sql_common.py @@ -419,8 +419,8 @@ def get_schema_metadata( dataset_name: str, platform: str, columns: List[dict], - pk_constraints: dict = None, - foreign_keys: List[ForeignKeyConstraint] = None, + pk_constraints: Optional[dict] = None, + foreign_keys: Optional[List[ForeignKeyConstraint]] = None, canonical_schema: List[SchemaField] = [], ) -> SchemaMetadata: schema_metadata = SchemaMetadata( @@ -985,7 +985,7 @@ def get_schema_fields( self, dataset_name: str, columns: List[dict], - pk_constraints: dict = None, + pk_constraints: Optional[dict] = None, tags: Optional[Dict[str, List[str]]] = None, ) -> List[SchemaField]: canonical_schema = [] @@ -1003,7 +1003,7 @@ def get_schema_fields_for_column( self, dataset_name: str, column: dict, - pk_constraints: dict = None, + pk_constraints: Optional[dict] = None, tags: Optional[List[str]] = None, ) -> List[SchemaField]: gtc: Optional[GlobalTagsClass] = None diff --git a/metadata-ingestion/src/datahub/ingestion/source/sql/trino.py b/metadata-ingestion/src/datahub/ingestion/source/sql/trino.py index 296bc7a4935282..277dfe704d10c5 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/sql/trino.py +++ b/metadata-ingestion/src/datahub/ingestion/source/sql/trino.py @@ -194,7 +194,7 @@ def get_schema_fields_for_column( self, dataset_name: str, column: dict, - pk_constraints: dict = None, + pk_constraints: Optional[dict] = None, tags: Optional[List[str]] = None, ) -> List[SchemaField]: diff --git a/metadata-ingestion/src/datahub/ingestion/source/tableau.py b/metadata-ingestion/src/datahub/ingestion/source/tableau.py index 9434381ff6e3c3..5929f1fa2ad89a 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/tableau.py +++ b/metadata-ingestion/src/datahub/ingestion/source/tableau.py @@ -992,7 +992,10 @@ def get_metadata_change_proposal( return mcp_workunit def emit_datasource( - self, datasource: dict, workbook: dict = None, is_embedded_ds: bool = False + self, + datasource: dict, + workbook: Optional[dict] = None, + is_embedded_ds: bool = False, ) -> Iterable[MetadataWorkUnit]: datasource_info = workbook if not is_embedded_ds: diff --git a/metadata-ingestion/src/datahub/ingestion/source/usage/bigquery_usage.py b/metadata-ingestion/src/datahub/ingestion/source/usage/bigquery_usage.py index b9052c35d465dd..8e7685b9042cd0 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/usage/bigquery_usage.py +++ b/metadata-ingestion/src/datahub/ingestion/source/usage/bigquery_usage.py @@ -173,7 +173,7 @@ def bigquery_audit_metadata_query_template( dataset: str, use_date_sharded_tables: bool, - table_allow_filter: str = None, + table_allow_filter: Optional[str] = None, ) -> str: """ Receives a dataset (with project specified) and returns a query template that is used to query exported diff --git a/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py b/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py index 8202f877d6274a..46a40cb9902c43 100644 --- a/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py +++ b/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py @@ -306,7 +306,7 @@ class SnowflakeConfig(BaseSnowflakeConfig, SQLAlchemyConfig): def get_sql_alchemy_url( self, - database: str = None, + database: Optional[str] = None, username: Optional[str] = None, password: Optional[pydantic.SecretStr] = None, role: Optional[str] = None, diff --git a/metadata-ingestion/src/datahub/integrations/great_expectations/action.py b/metadata-ingestion/src/datahub/integrations/great_expectations/action.py index 931798f5aa5c59..3b6382865762bb 100644 --- a/metadata-ingestion/src/datahub/integrations/great_expectations/action.py +++ b/metadata-ingestion/src/datahub/integrations/great_expectations/action.py @@ -110,9 +110,9 @@ def _run( ValidationResultIdentifier, "GXCloudIdentifier" ], data_asset: Union[Validator, DataAsset, Batch], - payload: Any = None, + payload: Optional[Any] = None, expectation_suite_identifier: Optional[ExpectationSuiteIdentifier] = None, - checkpoint_identifier: Any = None, + checkpoint_identifier: Optional[Any] = None, ) -> Dict: datasets = [] try: diff --git a/metadata-ingestion/src/datahub/utilities/mapping.py b/metadata-ingestion/src/datahub/utilities/mapping.py index f7fb251d3eafc3..13a9fc66dd7972 100644 --- a/metadata-ingestion/src/datahub/utilities/mapping.py +++ b/metadata-ingestion/src/datahub/utilities/mapping.py @@ -67,7 +67,7 @@ def __init__( self, operation_defs: Dict[str, Dict], tag_prefix: str = "", - owner_source_type: str = None, + owner_source_type: Optional[str] = None, strip_owner_email_id: bool = False, ): self.operation_defs = operation_defs diff --git a/metadata-ingestion/src/datahub_provider/lineage/datahub.py b/metadata-ingestion/src/datahub_provider/lineage/datahub.py index fb3728aa53f471..009ce4bb29a97f 100644 --- a/metadata-ingestion/src/datahub_provider/lineage/datahub.py +++ b/metadata-ingestion/src/datahub_provider/lineage/datahub.py @@ -70,7 +70,7 @@ def send_lineage( operator: "BaseOperator", inlets: Optional[List] = None, # unused outlets: Optional[List] = None, # unused - context: Dict = None, + context: Optional[Dict] = None, ) -> None: config = get_lineage_config() if not config.enabled: diff --git a/metadata-ingestion/tests/test_helpers/docker_helpers.py b/metadata-ingestion/tests/test_helpers/docker_helpers.py index 7ba82b25a62008..0cbae4b2db104d 100644 --- a/metadata-ingestion/tests/test_helpers/docker_helpers.py +++ b/metadata-ingestion/tests/test_helpers/docker_helpers.py @@ -24,7 +24,7 @@ def wait_for_port( docker_services: pytest_docker.plugin.Services, container_name: str, container_port: int, - hostname: str = None, + hostname: Optional[str] = None, timeout: float = 30.0, pause: float = 0.5, checker: Optional[Callable[[], bool]] = None, diff --git a/metadata-ingestion/tests/unit/test_sql_common.py b/metadata-ingestion/tests/unit/test_sql_common.py index 7b86b6ee6abcc4..f382705c70803a 100644 --- a/metadata-ingestion/tests/unit/test_sql_common.py +++ b/metadata-ingestion/tests/unit/test_sql_common.py @@ -4,7 +4,6 @@ import pytest from sqlalchemy.engine.reflection import Inspector -from datahub.ingestion.api.source import Source from datahub.ingestion.source.sql.sql_common import ( PipelineContext, SQLAlchemyConfig, @@ -19,9 +18,7 @@ def get_sql_alchemy_url(self): class _TestSQLAlchemySource(SQLAlchemySource): - @classmethod - def create(cls, config_dict: dict, ctx: PipelineContext) -> Source: - pass + pass def test_generate_foreign_key(): From 71466aab36e1532b7845e70e972b63a5c1500b40 Mon Sep 17 00:00:00 2001 From: Harshal Sheth Date: Fri, 2 Dec 2022 13:54:24 -0500 Subject: [PATCH 06/18] fix(ingest): only require github_info for lookml and not looker (#6608) --- .../src/datahub/ingestion/source/looker/looker_common.py | 5 ----- .../src/datahub/ingestion/source/looker/lookml_source.py | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/metadata-ingestion/src/datahub/ingestion/source/looker/looker_common.py b/metadata-ingestion/src/datahub/ingestion/source/looker/looker_common.py index 935eeac00b519e..9ba336becab325 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/looker/looker_common.py +++ b/metadata-ingestion/src/datahub/ingestion/source/looker/looker_common.py @@ -28,7 +28,6 @@ import datahub.emitter.mce_builder as builder from datahub.configuration import ConfigModel from datahub.configuration.common import ConfigurationError -from datahub.configuration.github import GitHubInfo from datahub.configuration.source_common import DatasetSourceConfigBase from datahub.emitter.mcp import MetadataChangeProposalWrapper from datahub.ingestion.api.report import Report @@ -186,10 +185,6 @@ class LookerCommonConfig(DatasetSourceConfigBase): platform_name: str = Field( "looker", description="Default platform name. Don't change." ) - github_info: Optional[GitHubInfo] = Field( - None, - description="Reference to your github location. If present, supplies handy links to your lookml on the dataset entity page.", - ) extract_column_level_lineage: bool = Field( True, description="When enabled, extracts column-level lineage from Views and Explores", diff --git a/metadata-ingestion/src/datahub/ingestion/source/looker/lookml_source.py b/metadata-ingestion/src/datahub/ingestion/source/looker/lookml_source.py index 48d19c6d127651..3283ad18d01a1c 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/looker/lookml_source.py +++ b/metadata-ingestion/src/datahub/ingestion/source/looker/lookml_source.py @@ -173,6 +173,10 @@ class LookMLSourceConfig(LookerCommonConfig, StatefulIngestionConfigBase): None, description="Required if not providing github configuration and deploy keys. A pointer to a local directory (accessible to the ingestion system) where the root of the LookML repo has been checked out (typically via a git clone). This is typically the root folder where the `*.model.lkml` and `*.view.lkml` files are stored. e.g. If you have checked out your LookML repo under `/Users/jdoe/workspace/my-lookml-repo`, then set `base_folder` to `/Users/jdoe/workspace/my-lookml-repo`.", ) + github_info: Optional[GitHubInfo] = Field( + None, + description="Reference to your github location. If present, supplies handy links to your lookml on the dataset entity page.", + ) project_dependencies: Dict[str, Union[pydantic.DirectoryPath, GitHubInfo]] = Field( {}, description="A map of project_name to local directory (accessible to the ingestion system) or Git credentials. " From a1e62c723e7abd4289ea999b1de7835b057b808e Mon Sep 17 00:00:00 2001 From: Harshal Sheth Date: Fri, 2 Dec 2022 13:56:17 -0500 Subject: [PATCH 07/18] docs(ingest): add airflow docs that use the `PythonVirtualenvOperator` (#6604) --- metadata-ingestion/schedule_docs/airflow.md | 42 +++++++-- metadata-ingestion/setup.py | 3 +- .../example_dags/.airflowignore | 2 + .../example_dags/generic_recipe_sample_dag.py | 1 + .../example_dags/mysql_sample_dag.py | 37 ++++---- .../example_dags/snowflake_sample_dag.py | 87 +++++++++++++++++++ metadata-ingestion/tests/unit/test_airflow.py | 11 +-- 7 files changed, 150 insertions(+), 33 deletions(-) create mode 100644 metadata-ingestion/src/datahub_provider/example_dags/.airflowignore create mode 100644 metadata-ingestion/src/datahub_provider/example_dags/snowflake_sample_dag.py diff --git a/metadata-ingestion/schedule_docs/airflow.md b/metadata-ingestion/schedule_docs/airflow.md index 03a5930fea1368..e48710964b01c7 100644 --- a/metadata-ingestion/schedule_docs/airflow.md +++ b/metadata-ingestion/schedule_docs/airflow.md @@ -2,11 +2,41 @@ If you are using Apache Airflow for your scheduling then you might want to also use it for scheduling your ingestion recipes. For any Airflow specific questions you can go through [Airflow docs](https://airflow.apache.org/docs/apache-airflow/stable/) for more details. -To schedule your recipe through Airflow you can follow these steps -- Create a recipe file e.g. `recipe.yml` -- Ensure the receipe file is in a folder accessible to your airflow workers. You can either specify absolute path on the machines where Airflow is installed or a path relative to `AIRFLOW_HOME`. -- Ensure [DataHub CLI](../../docs/cli.md) is installed in your airflow environment -- Create a sample DAG file like [`generic_recipe_sample_dag.py`](../src/datahub_provider/example_dags/generic_recipe_sample_dag.py). This will read your DataHub ingestion recipe file and run it. +We've provided a few examples of how to configure your DAG: + +- [`mysql_sample_dag`](../src/datahub_provider/example_dags/mysql_sample_dag.py) embeds the full MySQL ingestion configuration inside the DAG. + +- [`snowflake_sample_dag`](../src/datahub_provider/example_dags/snowflake_sample_dag.py) avoids embedding credentials inside the recipe, and instead fetches them from Airflow's [Connections](https://airflow.apache.org/docs/apache-airflow/stable/howto/connection/index.html) feature. You must configure your connections in Airflow to use this approach. + +:::tip + +These example DAGs use the `PythonVirtualenvOperator` to run the ingestion. This is the recommended approach, since it guarantees that there will not be any conflicts between DataHub and the rest of your Airflow environment. + +When configuring the task, it's important to specify the requirements with your source and set the `system_site_packages` option to false. + +```py +ingestion_task = PythonVirtualenvOperator( + task_id="ingestion_task", + requirements=[ + "acryl-datahub[]", + ], + system_site_packages=False, + python_callable=your_callable, +) +``` + +::: + +
+Advanced: loading a recipe file + +In more advanced cases, you might want to store your ingestion recipe in a file and load it from your task. + +- Ensure the recipe file is in a folder accessible to your airflow workers. You can either specify absolute path on the machines where Airflow is installed or a path relative to `AIRFLOW_HOME`. +- Ensure [DataHub CLI](../../docs/cli.md) is installed in your airflow environment. +- Create a DAG task to read your DataHub ingestion recipe file and run it. See the example below for reference. - Deploy the DAG file into airflow for scheduling. Typically this involves checking in the DAG file into your dags folder which is accessible to your Airflow instance. -Alternatively you can have an inline recipe as given in [`mysql_sample_dag.py`](../src/datahub_provider/example_dags/mysql_sample_dag.py). This runs a MySQL metadata ingestion pipeline using an inlined configuration. +Example: [`generic_recipe_sample_dag`](../src/datahub_provider/example_dags/generic_recipe_sample_dag.py) + +
diff --git a/metadata-ingestion/setup.py b/metadata-ingestion/setup.py index a63164f4021ea8..0fded9e7cedc2c 100644 --- a/metadata-ingestion/setup.py +++ b/metadata-ingestion/setup.py @@ -461,8 +461,9 @@ def get_long_description(): dev_requirements = { *base_dev_requirements, + # Extra requirements for Airflow. "apache-airflow[snowflake]>=2.0.2", # snowflake is used in example dags - "snowflake-sqlalchemy<=1.2.4", # make constraint consistent with extras + "virtualenv", # needed by PythonVirtualenvOperator } full_test_dev_requirements = { diff --git a/metadata-ingestion/src/datahub_provider/example_dags/.airflowignore b/metadata-ingestion/src/datahub_provider/example_dags/.airflowignore new file mode 100644 index 00000000000000..decb9b559aea89 --- /dev/null +++ b/metadata-ingestion/src/datahub_provider/example_dags/.airflowignore @@ -0,0 +1,2 @@ +# This file uses a connection hook, which fails to load unless configured. +snowflake_sample_dag.py diff --git a/metadata-ingestion/src/datahub_provider/example_dags/generic_recipe_sample_dag.py b/metadata-ingestion/src/datahub_provider/example_dags/generic_recipe_sample_dag.py index 289155a877b55e..d0e4aa944e8401 100644 --- a/metadata-ingestion/src/datahub_provider/example_dags/generic_recipe_sample_dag.py +++ b/metadata-ingestion/src/datahub_provider/example_dags/generic_recipe_sample_dag.py @@ -26,6 +26,7 @@ def datahub_recipe(): + # Note that this will also resolve environment variables in the recipe. config = load_config_file("path/to/recipe.yml") pipeline = Pipeline.create(config) diff --git a/metadata-ingestion/src/datahub_provider/example_dags/mysql_sample_dag.py b/metadata-ingestion/src/datahub_provider/example_dags/mysql_sample_dag.py index 35744ea367d353..2c833e14256342 100644 --- a/metadata-ingestion/src/datahub_provider/example_dags/mysql_sample_dag.py +++ b/metadata-ingestion/src/datahub_provider/example_dags/mysql_sample_dag.py @@ -5,33 +5,22 @@ embedded within the code. """ -from datetime import timedelta +from datetime import datetime, timedelta from airflow import DAG -from airflow.operators.python import PythonOperator -from airflow.utils.dates import days_ago - -from datahub.ingestion.run.pipeline import Pipeline - -default_args = { - "owner": "airflow", - "depends_on_past": False, - "email": ["jdoe@example.com"], - "email_on_failure": False, - "email_on_retry": False, - "retries": 1, - "retry_delay": timedelta(minutes=5), - "execution_timeout": timedelta(minutes=120), -} +from airflow.operators.python import PythonVirtualenvOperator def ingest_from_mysql(): + from datahub.ingestion.run.pipeline import Pipeline + pipeline = Pipeline.create( # This configuration is analogous to a recipe configuration. { "source": { "type": "mysql", "config": { + # If you want to use Airflow connections, take a look at the snowflake_sample_dag.py example. "username": "user", "password": "pass", "database": "db_name", @@ -45,18 +34,28 @@ def ingest_from_mysql(): } ) pipeline.run() + pipeline.pretty_print_summary() pipeline.raise_from_status() with DAG( "datahub_mysql_ingest", - default_args=default_args, + default_args={ + "owner": "airflow", + }, description="An example DAG which ingests metadata from MySQL to DataHub", + start_date=datetime(2022, 1, 1), schedule_interval=timedelta(days=1), - start_date=days_ago(2), catchup=False, ) as dag: - ingest_task = PythonOperator( + # While it is also possible to use the PythonOperator, we recommend using + # the PythonVirtualenvOperator to ensure that there are no dependency + # conflicts between DataHub and the rest of your Airflow environment. + ingest_task = PythonVirtualenvOperator( task_id="ingest_from_mysql", + requirements=[ + "acryl-datahub[mysql]", + ], + system_site_packages=False, python_callable=ingest_from_mysql, ) diff --git a/metadata-ingestion/src/datahub_provider/example_dags/snowflake_sample_dag.py b/metadata-ingestion/src/datahub_provider/example_dags/snowflake_sample_dag.py new file mode 100644 index 00000000000000..c107bb479262cd --- /dev/null +++ b/metadata-ingestion/src/datahub_provider/example_dags/snowflake_sample_dag.py @@ -0,0 +1,87 @@ +"""Snowflake DataHub Ingest DAG + +This example demonstrates how to ingest metadata from Snowflake into DataHub +from within an Airflow DAG. In contrast to the MySQL example, this DAG +pulls the DB connection configuration from Airflow's connection store. +""" + +from datetime import datetime, timedelta + +from airflow import DAG +from airflow.hooks.base import BaseHook +from airflow.operators.python import PythonVirtualenvOperator + + +def ingest_from_snowflake(snowflake_credentials, datahub_gms_server): + from datahub.ingestion.run.pipeline import Pipeline + + pipeline = Pipeline.create( + # This configuration is analogous to a recipe configuration. + { + "source": { + "type": "snowflake", + "config": { + **snowflake_credentials, + # Other Snowflake config can be added here. + "profiling": {"enabled": False}, + }, + }, + # Other ingestion features, like transformers, are also supported. + # "transformers": [ + # { + # "type": "simple_add_dataset_ownership", + # "config": { + # "owner_urns": [ + # "urn:li:corpuser:example", + # ] + # }, + # } + # ], + "sink": { + "type": "datahub-rest", + "config": {"server": datahub_gms_server}, + }, + } + ) + pipeline.run() + pipeline.pretty_print_summary() + pipeline.raise_from_status() + + +with DAG( + "datahub_snowflake_ingest", + default_args={ + "owner": "airflow", + }, + description="An example DAG which ingests metadata from Snowflake to DataHub", + start_date=datetime(2022, 1, 1), + schedule_interval=timedelta(days=1), + catchup=False, +) as dag: + # This example pulls credentials from Airflow's connection store. + # For this to work, you must have previously configured these connections in Airflow. + # See the Airflow docs for details: https://airflow.apache.org/docs/apache-airflow/stable/howto/connection.html + snowflake_conn = BaseHook.get_connection("snowflake_admin_default") + datahub_conn = BaseHook.get_connection("datahub_rest_default") + + # While it is also possible to use the PythonOperator, we recommend using + # the PythonVirtualenvOperator to ensure that there are no dependency + # conflicts between DataHub and the rest of your Airflow environment. + ingest_task = PythonVirtualenvOperator( + task_id="ingest_from_snowflake", + requirements=[ + "acryl-datahub[snowflake]", + ], + system_site_packages=False, + python_callable=ingest_from_snowflake, + op_kwargs={ + "snowflake_credentials": { + "username": snowflake_conn.login, + "password": snowflake_conn.password, + "account_id": snowflake_conn.extra_dejson["account"], + "warehouse": snowflake_conn.extra_dejson.get("warehouse"), + "role": snowflake_conn.extra_dejson.get("role"), + }, + "datahub_gms_server": datahub_conn.host, + }, + ) diff --git a/metadata-ingestion/tests/unit/test_airflow.py b/metadata-ingestion/tests/unit/test_airflow.py index 82e76f43b00c72..4d1b737e985fbe 100644 --- a/metadata-ingestion/tests/unit/test_airflow.py +++ b/metadata-ingestion/tests/unit/test_airflow.py @@ -75,21 +75,18 @@ def test_airflow_provider_info(): assert get_provider_info() -@pytest.mark.skipif( - AIRFLOW_VERSION < packaging.version.parse("2.0.0"), - reason="the examples use list-style lineage, which is only supported on Airflow 2.x", -) -def test_dags_load_with_no_errors(pytestconfig): +def test_dags_load_with_no_errors(pytestconfig: pytest.Config) -> None: airflow_examples_folder = ( pytestconfig.rootpath / "src/datahub_provider/example_dags" ) + # Note: the .airflowignore file skips the snowflake DAG. dag_bag = DagBag(dag_folder=str(airflow_examples_folder), include_examples=False) import_errors = dag_bag.import_errors - assert import_errors == {} - assert len(dag_bag.dag_ids) > 0 + assert len(import_errors) == 0 + assert dag_bag.size() > 0 @contextmanager From 8ff35b81ed46d7586a6babddb006e1bd69400f69 Mon Sep 17 00:00:00 2001 From: Chris Collins Date: Fri, 2 Dec 2022 15:12:15 -0600 Subject: [PATCH 08/18] fix(ui) Fix double scroll in embedded list search sections (#6618) --- .../recommendations/renderer/component/EntityNameList.tsx | 2 +- datahub-web-react/src/app/search/AdvancedSearchFilters.tsx | 6 ++---- datahub-web-react/src/app/search/SearchFiltersSection.tsx | 6 ++++-- datahub-web-react/src/app/search/SimpleSearchFilters.tsx | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/datahub-web-react/src/app/recommendations/renderer/component/EntityNameList.tsx b/datahub-web-react/src/app/recommendations/renderer/component/EntityNameList.tsx index 6323a8ac74bb51..73819d1f9fcf5d 100644 --- a/datahub-web-react/src/app/recommendations/renderer/component/EntityNameList.tsx +++ b/datahub-web-react/src/app/recommendations/renderer/component/EntityNameList.tsx @@ -13,7 +13,7 @@ const StyledCheckbox = styled(Checkbox)` `; const StyledList = styled(List)` - overflow-y: scroll; + overflow-y: auto; height: 100%; margin-top: -1px; box-shadow: ${(props) => props.theme.styles['box-shadow']}; diff --git a/datahub-web-react/src/app/search/AdvancedSearchFilters.tsx b/datahub-web-react/src/app/search/AdvancedSearchFilters.tsx index f4e70e1b9007d4..ab242b49fed69f 100644 --- a/datahub-web-react/src/app/search/AdvancedSearchFilters.tsx +++ b/datahub-web-react/src/app/search/AdvancedSearchFilters.tsx @@ -11,11 +11,9 @@ import { FIELDS_THAT_USE_CONTAINS_OPERATOR, UnionType } from './utils/constants' import { AdvancedSearchAddFilterSelect } from './AdvancedSearchAddFilterSelect'; export const SearchFilterWrapper = styled.div` - min-height: 100%; + flex: 1; + padding: 6px 12px 10px 12px; overflow: auto; - margin-top: 6px; - margin-left: 12px; - margin-right: 12px; &::-webkit-scrollbar { height: 12px; diff --git a/datahub-web-react/src/app/search/SearchFiltersSection.tsx b/datahub-web-react/src/app/search/SearchFiltersSection.tsx index a2fca0605b4ec3..cca78ae2ae4923 100644 --- a/datahub-web-react/src/app/search/SearchFiltersSection.tsx +++ b/datahub-web-react/src/app/search/SearchFiltersSection.tsx @@ -17,7 +17,8 @@ type Props = { }; const FiltersContainer = styled.div` - display: block; + display: flex; + flex-direction: column; max-width: 260px; min-width: 260px; overflow-wrap: break-word; @@ -45,7 +46,8 @@ const FiltersHeader = styled.div` `; const SearchFilterContainer = styled.div` - padding-top: 10px; + flex: 1; + overflow: auto; `; // This component renders the entire filters section that allows toggling diff --git a/datahub-web-react/src/app/search/SimpleSearchFilters.tsx b/datahub-web-react/src/app/search/SimpleSearchFilters.tsx index e6b4da2f455310..654341be7715c5 100644 --- a/datahub-web-react/src/app/search/SimpleSearchFilters.tsx +++ b/datahub-web-react/src/app/search/SimpleSearchFilters.tsx @@ -7,6 +7,7 @@ import { SimpleSearchFilter } from './SimpleSearchFilter'; const TOP_FILTERS = ['degree', 'entity', 'tags', 'glossaryTerms', 'domains', 'owners']; export const SearchFilterWrapper = styled.div` + padding-top: 10px; max-height: 100%; overflow: auto; From 99e6f3a87ccc2fb206f107d23d8e2c33dcbc4bba Mon Sep 17 00:00:00 2001 From: djordje-mijatovic <97875950+djordje-mijatovic@users.noreply.github.com> Date: Sat, 3 Dec 2022 00:20:09 +0100 Subject: [PATCH 09/18] feat(ingest): print detailed GMS error messages (#6519) Co-authored-by: Harshal Sheth --- metadata-ingestion/src/datahub/cli/cli_utils.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/metadata-ingestion/src/datahub/cli/cli_utils.py b/metadata-ingestion/src/datahub/cli/cli_utils.py index 5bd8841e6755a8..d6ece814c9c47a 100644 --- a/metadata-ingestion/src/datahub/cli/cli_utils.py +++ b/metadata-ingestion/src/datahub/cli/cli_utils.py @@ -581,6 +581,11 @@ def post_entity( curl_command, ) response = session.post(url, payload) + if not response.ok: + try: + log.info(response.json()["message"].strip()) + except Exception: + log.info(f"post_entity failed: {response.text}") response.raise_for_status() return response.status_code From c8d943acc9c167c4c4de26d1a26875c47622de5e Mon Sep 17 00:00:00 2001 From: Maggie Hays Date: Fri, 2 Dec 2022 19:42:58 -0600 Subject: [PATCH 10/18] docs():Townhall agenda wikimedia (#6622) --- README.md | 9 +++++++++ .../src/pages/_components/Logos/index.js | 5 +++++ .../logos/companies/wikimedia-foundation.png | Bin 0 -> 74704 bytes docs/townhall-history.md | 15 +++++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 docs-website/static/img/logos/companies/wikimedia-foundation.png diff --git a/README.md b/README.md index d78295523d6519..fc68777e10101b 100644 --- a/README.md +++ b/README.md @@ -110,8 +110,11 @@ Here are the companies that have officially adopted DataHub. Please feel free to - [Adevinta](https://www.adevinta.com/) - [Banksalad](https://www.banksalad.com) - [Cabify](https://cabify.tech/) +- [ClassDojo](https://www.classdojo.com/) +- [Coursera](https://www.coursera.org/) - [DefinedCrowd](http://www.definedcrowd.com) - [DFDS](https://www.dfds.com/) +- [Digital Turbine](https://www.digitalturbine.com/) - [Expedia Group](http://expedia.com) - [Experius](https://www.experius.nl) - [Geotab](https://www.geotab.com) @@ -122,15 +125,21 @@ Here are the companies that have officially adopted DataHub. Please feel free to - [Klarna](https://www.klarna.com) - [LinkedIn](http://linkedin.com) - [Moloco](https://www.moloco.com/en) +- [N26](https://n26brasil.com/) +- [Optum](https://www.optum.com/) - [Peloton](https://www.onepeloton.com) - [Razer](https://www.razer.com) - [Saxo Bank](https://www.home.saxo) +- [Showroomprive](https://www.showroomprive.com/) +- [SpotHero](https://spothero.com) - [Stash](https://www.stash.com) - [Shanghai HuaRui Bank](https://www.shrbank.com) - [ThoughtWorks](https://www.thoughtworks.com) - [TypeForm](http://typeform.com) +- [Udemy](https://www.udemy.com/) - [Uphold](https://uphold.com) - [Viasat](https://viasat.com) +- [Wikimedia](https://www.wikimedia.org) - [Wolt](https://wolt.com) - [Zynga](https://www.zynga.com) diff --git a/docs-website/src/pages/_components/Logos/index.js b/docs-website/src/pages/_components/Logos/index.js index da8484fec7eb72..0046cb6094288a 100644 --- a/docs-website/src/pages/_components/Logos/index.js +++ b/docs-website/src/pages/_components/Logos/index.js @@ -151,6 +151,11 @@ const companiesByIndustry = [ { name: "And More", companies: [ + { + name: "Wikimedia Foundation", + imageUrl: "/img/logos/companies/wikimedia-foundation.png", + imageSize: "medium", + }, { name: "Cabify", imageUrl: "/img/logos/companies/cabify.png", diff --git a/docs-website/static/img/logos/companies/wikimedia-foundation.png b/docs-website/static/img/logos/companies/wikimedia-foundation.png new file mode 100644 index 0000000000000000000000000000000000000000..c4119fab23be1d03deb06e94137ba98f5b6accb9 GIT binary patch literal 74704 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¥NV;f!1h;KR*}9)wN?H%UOjVLm=ACrPv#Sk2$lWm z`0e&0TSVe9P2BNtsFZtmyGM=Ry`!IN?zsaJ%2rl0k+=|OU2(&?^+9X3s<@-f4m^g7 z#52txw|igoN^A~W9+7?!)h_F_S-~3g%uMR)&4)a|S8P2GZ+nGuK3qLWuj_d7Jjvd* z(M^YPf2h6ImBJumV3eWu-r4k*b}ou0e~uPi;_HKxu>dChUHs7CIXHaT;qvRUM)Q24 zpHG3OYuFZE_cQ4F4G@p3DMjcV52mQ3?L=)Spbz^F6B9)^_E1Bgxrcf&a*E?mKEHER zHqGp>FK)?n|x z1_H~zOXViAGZHoWGY-`kO1SpH`e5$JlXltwhmYnZVvMVHE&A+-nQ9nzFLX$C&FX(E zZL{9gK%P9@+Xttt<-omfy_l*^S6d5)uvefR5Erjb#0OO&pH;%>fy-4yFB@Tpaeuteq_rF{#6~=@~+IEN`s)BJFWG zxKkJswf#FK;)RjZD0AutHTTdVbFLILpfhoI_`KL*IUI1|mV?DZ^sYJvWZx=eYCAP3 z{K{@_@*HfHH?W=TIU<56hL@GT0U7BVXL)0KKD`#|FJ4Z2xr1_ zP{-+X;+`w3vP~#iFRS7enX`^`DpYZeM?kOH~i`oYtzU(sq1GX}JBh zEaA7Hwl@?ua3<^z@MWA{Uo)Xy4Gc`qfv~&G{E zwbcfOIW?6~ZDS#HFzlYGd8Enq{^{Jwds0Oqae;LE7ip*x;_g4!ITLQOID_!S0ZD(g z4@`u~p23r~1}*wRp>Xid|ECdX=lE!Z|IBHiBT>TZ z7=_K${Uw`w(I!HHO=S%HM2Ex?W@=7G4|CErC3ctEJHJlRY`X9S)NHTnnPQB*nEPc7 zhq|%}qweY9+5@>1j6d#LA(ZDs3;n&`K(hV6G}q19Plw|h^q zY}a|i3>Y1;u0hjqk0v8+jTSElZMI4~lC!8A*2x{56xiXKQW7tu5h9|0=l^Wh&rc6y zCS}IHnj8ID^!?U79`(SslCTOx^%RCZw$Gn=-!${)`7w2qXJNPO{TEd|r+QnzR_s}N zG7j8?m@7S3w9qfI=KgN8QJFpE z^QX==YaH8;uHIB$H*ckLmHOxI$XMrplj}Sg&dpt|!r-p*5IA;xQqWlLdf1f=eEfqJpw(EQ==h`>GCIGPI;%pjzZ{GT+pKPp;RDa$QGhKL-@3ZSm^cThp zHGF=`FVtWVCCp%3l-_qL&~w^(wn+Qz^q)F0gU*O@BJ;k5PH%k$vBMww*PNOj&UI!NfT?zV4r4GflEm>9Ub!|C4)v zRQauLrX{xKL`qZ!{=4yESB-kRm|xI6`{OB9uYVPJ`RR4-K9=bp?sK+vr@={^NNeeo zzk3wdpNu)`?ti{^r(O7yPcf!Svlkl*eP8hX>GpdMQ!eygV%c)##hJ(-1>VJbluiTP zI{$jgzcaI2jmn>$XPP-{`R9sxXCGH;^*>v8XQp*=y4Y9-Ufr4+)&{lST~3je>{IhEzf+eMg0*uIrf?@~7e8tlIOXM85>vfyQ4c@)rS)e_f; zl9a@fRIB8oR3OD*WME{ZYhbKvU>agzVr6JxWn!*vU|?lnuv@b5J&K0h{FKbJO57Sw Sxtt6JIo{LN&t;ucLK6UYsb-V_ literal 0 HcmV?d00001 diff --git a/docs/townhall-history.md b/docs/townhall-history.md index cea81013f14042..51a8770ef09284 100644 --- a/docs/townhall-history.md +++ b/docs/townhall-history.md @@ -2,6 +2,21 @@ A list of previous Town Halls, their planned schedule, and the recording of the meeting. +## 12/01/2022 +[Full YouTube video](https://youtu.be/BlCLhG8lGoY) + +### Agenda + +November Town Hall (in December!) + +- Community Case Study - The Pinterest Team will share how they have integrated DataHub + Thrift and extended the Metadata Model with a Data Element entity to capture semantic types. +- NEW! Ingestion Quickstart Guides - DataHub newbies, this one is for you! We’re rolling out ingestion quickstart guides to help you quickly get up and running with DataHub + Snowflake, BigQuery, and more! +- NEW! In-App Product Tours - We’re making it easier than ever for end-users to get familiar with all that DataHub has to offer - hear all about the in-product onboarding resources we’re rolling out soon! +- DataHub UI Navigation and Performance - Learn all about upcoming changes to our user experience to make it easier (and faster!) for end users to work within DataHub. +- Sneak Peek! Manual Lineage via the UI - The Community asked and we’re delivering! Soon you’ll be able to manually add lineage connections between Entities in DataHub. +- NEW! Slack + Microsoft Teams Integrations - Send automated alerts to Slack and/or Teams to keep track of critical events and changes within DataHub. +- Hacktoberfest Winners Announced - We’ll recap this year’s Hacktoberfest and announce three winners of a $250 Amazon gift card & DataHub Swag. + ## 10/27/2022 [Full YouTube video](https://youtu.be/B74WHxX5EMk) From 5e971ce71efac3037df83cf65b91223ee616418d Mon Sep 17 00:00:00 2001 From: Aditya Radhakrishnan Date: Fri, 2 Dec 2022 19:30:02 -0800 Subject: [PATCH 11/18] fix(analytics): skip ListDomains if user cannot manage domains and have only one loading message (#6624) --- .../components/AnalyticsPage.tsx | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/datahub-web-react/src/app/analyticsDashboard/components/AnalyticsPage.tsx b/datahub-web-react/src/app/analyticsDashboard/components/AnalyticsPage.tsx index 76bd2e34eddeaa..440d16f518fe03 100644 --- a/datahub-web-react/src/app/analyticsDashboard/components/AnalyticsPage.tsx +++ b/datahub-web-react/src/app/analyticsDashboard/components/AnalyticsPage.tsx @@ -10,6 +10,7 @@ import { Message } from '../../shared/Message'; import { useListDomainsQuery } from '../../../graphql/domain.generated'; import filterSearchQuery from '../../search/utils/filterSearchQuery'; import { ANTD_GRAY } from '../../entity/shared/constants'; +import { useGetAuthenticatedUser } from '../../useGetAuthenticatedUser'; const HighlightGroup = styled.div` display: flex; @@ -46,6 +47,8 @@ const StyledSearchBar = styled(Input)` `; export const AnalyticsPage = () => { + const me = useGetAuthenticatedUser(); + const canManageDomains = me?.platformPrivileges?.createDomains; const { data: chartData, loading: chartLoading, error: chartError } = useGetAnalyticsChartsQuery(); const { data: highlightData, loading: highlightLoading, error: highlightError } = useGetHighlightsQuery(); const { @@ -53,6 +56,7 @@ export const AnalyticsPage = () => { error: domainError, data: domainData, } = useListDomainsQuery({ + skip: !canManageDomains, variables: { input: { start: 0, @@ -82,12 +86,11 @@ export const AnalyticsPage = () => { skip: domain === '' && query === '', }); + const isLoading = highlightLoading || chartLoading || domainLoading || metadataAnalyticsLoading; return ( <> + {isLoading && } - {highlightLoading && ( - - )} {highlightError && ( )} @@ -96,7 +99,6 @@ export const AnalyticsPage = () => { ))} <> - {chartLoading && } {chartError && ( )} @@ -107,7 +109,6 @@ export const AnalyticsPage = () => { ))} <> - {domainLoading && } {domainError && ( )} @@ -148,9 +149,6 @@ export const AnalyticsPage = () => { )} <> - {metadataAnalyticsLoading && ( - - )} {metadataAnalyticsError && ( )} @@ -165,7 +163,6 @@ export const AnalyticsPage = () => { ))} <> - {chartLoading && } {chartError && } {!chartLoading && chartData?.getAnalyticsCharts From 4876fdd084202c3bb91aeca76d8896af5093355f Mon Sep 17 00:00:00 2001 From: Shirshanka Das Date: Sat, 3 Dec 2022 23:00:50 -0800 Subject: [PATCH 12/18] feat(quickstart): add support for env vars for Slack, Teams actions (#6591) --- docker/datahub-actions/env/docker.env | 15 +++++++++++++++ .../docker-compose-without-neo4j.quickstart.yml | 10 ++++++++++ docker/quickstart/docker-compose.quickstart.yml | 10 ++++++++++ docker/quickstart/generate_docker_quickstart.py | 11 +++++++---- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/docker/datahub-actions/env/docker.env b/docker/datahub-actions/env/docker.env index 48fb0b080d2436..363d9bc578b426 100644 --- a/docker/datahub-actions/env/docker.env +++ b/docker/datahub-actions/env/docker.env @@ -20,3 +20,18 @@ KAFKA_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT # KAFKA_PROPERTIES_SSL_KEYSTORE_PASSWORD=keystore_password # KAFKA_PROPERTIES_SSL_KEY_PASSWORD=keystore_password # KAFKA_PROPERTIES_SSL_TRUSTSTORE_PASSWORD=truststore_password + +# The following env vars are meant to be passed through from the Host System +# to configure the Slack and Teams Actions +# _ENABLED flags need to be set to "true" case sensitive for the action to be enabled +DATAHUB_ACTIONS_SLACK_ENABLED +DATAHUB_ACTIONS_SLACK_DATAHUB_BASE_URL +DATAHUB_ACTIONS_SLACK_BOT_TOKEN +DATAHUB_ACTIONS_SLACK_SIGNING_SECRET +DATAHUB_ACTIONS_SLACK_CHANNEL +DATAHUB_ACTIONS_SLACK_SUPPRESS_SYSTEM_ACTIVITY + +DATAHUB_ACTIONS_TEAMS_ENABLED +DATAHUB_ACTIONS_TEAMS_DATAHUB_BASE_URL +DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL +DATAHUB_ACTIONS_TEAMS_SUPPRESS_SYSTEM_ACTIVITY diff --git a/docker/quickstart/docker-compose-without-neo4j.quickstart.yml b/docker/quickstart/docker-compose-without-neo4j.quickstart.yml index e6f6b73396de39..7917b845c91d54 100644 --- a/docker/quickstart/docker-compose-without-neo4j.quickstart.yml +++ b/docker/quickstart/docker-compose-without-neo4j.quickstart.yml @@ -33,6 +33,16 @@ services: - DATAHUB_SYSTEM_CLIENT_ID=__datahub_system - DATAHUB_SYSTEM_CLIENT_SECRET=JohnSnowKnowsNothing - KAFKA_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT + - DATAHUB_ACTIONS_SLACK_ENABLED + - DATAHUB_ACTIONS_SLACK_DATAHUB_BASE_URL + - DATAHUB_ACTIONS_SLACK_BOT_TOKEN + - DATAHUB_ACTIONS_SLACK_SIGNING_SECRET + - DATAHUB_ACTIONS_SLACK_CHANNEL + - DATAHUB_ACTIONS_SLACK_SUPPRESS_SYSTEM_ACTIVITY + - DATAHUB_ACTIONS_TEAMS_ENABLED + - DATAHUB_ACTIONS_TEAMS_DATAHUB_BASE_URL + - DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL + - DATAHUB_ACTIONS_TEAMS_SUPPRESS_SYSTEM_ACTIVITY hostname: actions image: acryldata/datahub-actions:${ACTIONS_VERSION:-head} restart: on-failure:5 diff --git a/docker/quickstart/docker-compose.quickstart.yml b/docker/quickstart/docker-compose.quickstart.yml index 486740bcf418ad..3f6bd5a348c326 100644 --- a/docker/quickstart/docker-compose.quickstart.yml +++ b/docker/quickstart/docker-compose.quickstart.yml @@ -35,6 +35,16 @@ services: - DATAHUB_SYSTEM_CLIENT_ID=__datahub_system - DATAHUB_SYSTEM_CLIENT_SECRET=JohnSnowKnowsNothing - KAFKA_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT + - DATAHUB_ACTIONS_SLACK_ENABLED + - DATAHUB_ACTIONS_SLACK_DATAHUB_BASE_URL + - DATAHUB_ACTIONS_SLACK_BOT_TOKEN + - DATAHUB_ACTIONS_SLACK_SIGNING_SECRET + - DATAHUB_ACTIONS_SLACK_CHANNEL + - DATAHUB_ACTIONS_SLACK_SUPPRESS_SYSTEM_ACTIVITY + - DATAHUB_ACTIONS_TEAMS_ENABLED + - DATAHUB_ACTIONS_TEAMS_DATAHUB_BASE_URL + - DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL + - DATAHUB_ACTIONS_TEAMS_SUPPRESS_SYSTEM_ACTIVITY hostname: actions image: acryldata/datahub-actions:${ACTIONS_VERSION:-head} restart: on-failure:5 diff --git a/docker/quickstart/generate_docker_quickstart.py b/docker/quickstart/generate_docker_quickstart.py index 3a54d8c21155dd..4888adda2d0382 100644 --- a/docker/quickstart/generate_docker_quickstart.py +++ b/docker/quickstart/generate_docker_quickstart.py @@ -1,11 +1,11 @@ import os +from collections import OrderedDict +from collections.abc import Mapping + import click import yaml -from collections.abc import Mapping from dotenv import dotenv_values from yaml import Loader -from collections import OrderedDict - # Generates a merged docker-compose file with env variables inlined. # Usage: python3 docker_compose_cli_gen.py ../docker-compose.yml ../docker-compose.override.yml ../docker-compose-gen.yml @@ -54,7 +54,10 @@ def modify_docker_config(base_path, docker_yaml_config): # 5. Append to an "environment" block to YAML for key, value in env_vars.items(): - service["environment"].append(f"{key}={value}") + if value is not None: + service["environment"].append(f"{key}={value}") + else: + service["environment"].append(f"{key}") # 6. Delete the "env_file" value del service["env_file"] From 155a68386a15f8ab7c7145b8d98a4e7958ec71aa Mon Sep 17 00:00:00 2001 From: Shirshanka Das Date: Sun, 4 Dec 2022 13:27:52 -0800 Subject: [PATCH 13/18] docs(actions): slack, teams (#6632) --- ...er-compose-without-neo4j-m1.quickstart.yml | 10 + docs/actions/actions/slack.md | 282 ++++++++++++++++++ docs/actions/actions/teams.md | 184 ++++++++++++ docs/imgs/slack/slack_add_token.png | Bin 98502 -> 0 bytes docs/imgs/slack/slack_basic_info.png | Bin 107079 -> 0 bytes docs/imgs/slack/slack_channel.png | Bin 136123 -> 0 bytes docs/imgs/slack/slack_channel_url.png | Bin 13201 -> 0 bytes .../slack/slack_oauth_and_permissions.png | Bin 100322 -> 0 bytes docs/imgs/slack/slack_user_id.png | Bin 40063 -> 0 bytes docs/managed-datahub/saas-slack-setup.md | 12 +- 10 files changed, 482 insertions(+), 6 deletions(-) create mode 100644 docs/actions/actions/slack.md create mode 100644 docs/actions/actions/teams.md delete mode 100644 docs/imgs/slack/slack_add_token.png delete mode 100644 docs/imgs/slack/slack_basic_info.png delete mode 100644 docs/imgs/slack/slack_channel.png delete mode 100644 docs/imgs/slack/slack_channel_url.png delete mode 100644 docs/imgs/slack/slack_oauth_and_permissions.png delete mode 100644 docs/imgs/slack/slack_user_id.png diff --git a/docker/quickstart/docker-compose-without-neo4j-m1.quickstart.yml b/docker/quickstart/docker-compose-without-neo4j-m1.quickstart.yml index e87f55c0086c81..942a7b1f4c952c 100644 --- a/docker/quickstart/docker-compose-without-neo4j-m1.quickstart.yml +++ b/docker/quickstart/docker-compose-without-neo4j-m1.quickstart.yml @@ -33,6 +33,16 @@ services: - DATAHUB_SYSTEM_CLIENT_ID=__datahub_system - DATAHUB_SYSTEM_CLIENT_SECRET=JohnSnowKnowsNothing - KAFKA_PROPERTIES_SECURITY_PROTOCOL=PLAINTEXT + - DATAHUB_ACTIONS_SLACK_ENABLED + - DATAHUB_ACTIONS_SLACK_DATAHUB_BASE_URL + - DATAHUB_ACTIONS_SLACK_BOT_TOKEN + - DATAHUB_ACTIONS_SLACK_SIGNING_SECRET + - DATAHUB_ACTIONS_SLACK_CHANNEL + - DATAHUB_ACTIONS_SLACK_SUPPRESS_SYSTEM_ACTIVITY + - DATAHUB_ACTIONS_TEAMS_ENABLED + - DATAHUB_ACTIONS_TEAMS_DATAHUB_BASE_URL + - DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL + - DATAHUB_ACTIONS_TEAMS_SUPPRESS_SYSTEM_ACTIVITY hostname: actions image: acryldata/datahub-actions:${ACTIONS_VERSION:-head} restart: on-failure:5 diff --git a/docs/actions/actions/slack.md b/docs/actions/actions/slack.md new file mode 100644 index 00000000000000..6416fdb2665538 --- /dev/null +++ b/docs/actions/actions/slack.md @@ -0,0 +1,282 @@ +import FeatureAvailability from '@site/src/components/FeatureAvailability'; + +# Slack + + + + +# Slack + +| | | +| --- | --- | +| **Status** | ![Incubating](https://img.shields.io/badge/support%20status-incubating-blue) | +| **Version Requirements** | ![Minimum Version Requirements](https://img.shields.io/badge/acryl_datahub_actions-v0.0.9+-green.svg) | + + +## Overview + +This Action integrates DataHub with Slack to send notifications to a configured Slack channel in your workspace. + +### Capabilities + +- Sending notifications of important events to a Slack channel + - Adding or Removing a tag from an entity (dataset, dashboard etc.) + - Updating documentation at the entity or field (column) level. + - Adding or Removing ownership from an entity (dataset, dashboard, etc.) + - Creating a Domain + - and many more. + +### User Experience + +On startup, the action will produce a welcome message that looks like the one below. +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_welcome_message.png) + + +On each event, the action will produce a notification message that looks like the one below. +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_notification_message.png) + +Watch the townhall demo to see this in action: +[![Slack Action Demo](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_demo_image.png)](https://www.youtube.com/watch?v=BlCLhG8lGoY&t=2998s) + +### Supported Events + +- `EntityChangeEvent_v1` +- Currently, the `MetadataChangeLog_v1` event is **not** processed by the Action. + +## Action Quickstart + +### Prerequisites + +Ensure that you have configured the Slack App in your Slack workspace. + +#### Install the DataHub Slack App into your Slack workspace + +The following steps should be performed by a Slack Workspace Admin. +- Navigate to https://api.slack.com/apps/ +- Click Create New App +- Use “From an app manifest” option +- Select your workspace +- Paste this Manifest in YAML. We suggest changing the name and `display_name` to be `DataHub App YOUR_TEAM_NAME` but this is not required. This name will show up in your Slack workspace. +```yml +display_information: + name: DataHub App + description: An app to integrate DataHub with Slack + background_color: "#000000" +features: + bot_user: + display_name: DataHub App + always_online: false +oauth_config: + scopes: + bot: + - channels:history + - channels:read + - chat:write + - commands + - groups:read + - im:read + - mpim:read + - team:read + - users:read + - users:read.email +settings: + org_deploy_enabled: false + socket_mode_enabled: false + token_rotation_enabled: false +``` + +- Confirm you see the Basic Information Tab + +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_basic_info.png) + +- Click **Install to Workspace** +- It will show you permissions the Slack App is asking for, what they mean and a default channel in which you want to add the slack app + - Note that the Slack App will only be able to post in channels that the app has been added to. This is made clear by slack’s Authentication screen also. +- Select the channel you'd like notifications to go to and click **Allow** +- Go to the DataHub App page + - You can find your workspace's list of apps at https://api.slack.com/apps/ + +#### Getting Credentials and Configuration + +Now that you've created your app and installed it in your workspace, you need a few pieces of information before you can activate your Slack action. + +#### 1. The Signing Secret + +On your app's Basic Information page, you will see a App Credentials area. Take note of the Signing Secret information, you will need it later. + +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_app_credentials.png) + + +#### 2. The Bot Token + +Navigate to the **OAuth & Permissions** Tab + +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_oauth_and_permissions.png) + +Here you'll find a “Bot User OAuth Token” which DataHub will need to communicate with your Slack workspace through the bot. + +#### 3. The Slack Channel + +Finally, you need to figure out which Slack channel you will send notifications to. Perhaps it should be called #datahub-notifications or maybe, #data-notifications or maybe you already have a channel where important notifications about datasets and pipelines are already being routed to. Once you have decided what channel to send notifications to, make sure to add the app to the channel. + +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_channel_add_app.png) + +Next, figure out the channel id for this Slack channel. You can find it in the About section for the channel if you scroll to the very bottom of the app. +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_channel_id.png) + +Alternately, if you are on the browser, you can figure it out from the URL. e.g. for the troubleshoot channel in OSS DataHub slack + +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_channel_url.png) + +- Notice `TUMKD5EGJ/C029A3M079U` in the URL + - Channel ID = `C029A3M079U` from above + + +In the next steps, we'll show you how to configure the Slack Action based on the credentials and configuration values that you have collected. + +### Installation Instructions (Deployment specific) + +#### Managed DataHub + +Head over to the [Configuring Notifications](../../managed-datahub/saas-slack-setup.md#configuring-notifications) section in the Managed DataHub guide to configure Slack notifications for your Managed DataHub instance. + + +#### Quickstart + +If you are running DataHub using the docker quickstart option, there are no additional software installation steps. The `datahub-actions` container comes pre-installed with the Slack action. + +All you need to do is export a few environment variables to activate and configure the integration. See below for the list of environment variables to export. + +| Env Variable | Required for Integration | Purpose | +| --- | --- | --- | +| DATAHUB_ACTIONS_SLACK_ENABLED | ✅ | Set to "true" to enable the Slack action | +| DATAHUB_ACTIONS_SLACK_SIGNING_SECRET | ✅ | Set to the [Slack Signing Secret](#1-the-signing-secret) that you configured in the pre-requisites step above | +| DATAHUB_ACTIONS_SLACK_BOT_TOKEN | ✅ | Set to the [Bot User OAuth Token](#2-the-bot-token) that you configured in the pre-requisites step above | +| DATAHUB_ACTIONS_SLACK_CHANNEL | ✅ | Set to the [Slack Channel ID](#3-the-slack-channel) that you want the action to send messages to | +| DATAHUB_ACTIONS_DATAHUB_BASE_URL | ❌ | Defaults to "http://localhost:9002". Set to the location where your DataHub UI is running. On a local quickstart this is usually "http://localhost:9002", so you shouldn't need to modify this | + +:::note + +You will have to restart the `datahub-actions` docker container after you have exported these environment variables if this is the first time. The simplest way to do it is via the Docker Desktop UI, or by just issuing a `datahub docker quickstart --stop && datahub docker quickstart` command to restart the whole instance. + +::: + + +For example: +```shell +export DATAHUB_ACTIONS_SLACK_ENABLED=true +export DATAHUB_ACTIONS_SLACK_SIGNING_SECRET= +.... +export DATAHUB_ACTIONS_SLACK_CHANNEL= + +datahub docker quickstart --stop && datahub docker quickstart +``` + +#### k8s / helm + +Similar to the quickstart scenario, there are no specific software installation steps. The `datahub-actions` container comes pre-installed with the Slack action. You just need to export a few environment variables and make them available to the `datahub-actions` container to activate and configure the integration. See below for the list of environment variables to export. + +| Env Variable | Required for Integration | Purpose | +| --- | --- | --- | +| DATAHUB_ACTIONS_SLACK_ENABLED | ✅ | Set to "true" to enable the Slack action | +| DATAHUB_ACTIONS_SLACK_SIGNING_SECRET | ✅ | Set to the [Slack Signing Secret](#1-the-signing-secret) that you configured in the pre-requisites step above | +| DATAHUB_ACTIONS_SLACK_BOT_TOKEN | ✅ | Set to the [Bot User OAuth Token](#2-the-bot-token) that you configured in the pre-requisites step above | +| DATAHUB_ACTIONS_SLACK_CHANNEL | ✅ | Set to the [Slack Channel ID](#3-the-slack-channel) that you want the action to send messages to | +| DATAHUB_ACTIONS_DATAHUB_BASE_URL | ✅| Set to the location where your DataHub UI is running. For example, if your DataHub UI is hosted at "https://datahub.my-company.biz", set this to "https://datahub.my-company.biz"| + + +#### Bare Metal - CLI or Python-based + +If you are using the `datahub-actions` library directly from Python, or the `datahub-actions` cli directly, then you need to first install the `slack` action plugin in your Python virtualenv. + +``` +pip install "datahub-actions[slack]" +``` + +Then run the action with a configuration file that you have modified to capture your credentials and configuration. + +##### Sample Slack Action Configuration File + +```yml +name: datahub_slack_action +enabled: true +source: + type: "kafka" + config: + connection: + bootstrap: ${KAFKA_BOOTSTRAP_SERVER:-localhost:9092} + schema_registry_url: ${SCHEMA_REGISTRY_URL:-http://localhost:8081} + topic_routes: + mcl: ${METADATA_CHANGE_LOG_VERSIONED_TOPIC_NAME:-MetadataChangeLog_Versioned_v1} + pe: ${PLATFORM_EVENT_TOPIC_NAME:-PlatformEvent_v1} + +## 3a. Optional: Filter to run on events (map) +# filter: +# event_type: +# event: +# # Filter event fields by exact-match +# + +# 3b. Optional: Custom Transformers to run on events (array) +# transform: +# - type: +# config: +# # Transformer-specific configs (map) + +action: + type: slack + config: + # Action-specific configs (map) + base_url: ${DATAHUB_ACTIONS_SLACK_DATAHUB_BASE_URL:-http://localhost:9002} + bot_token: ${DATAHUB_ACTIONS_SLACK_BOT_TOKEN} + signing_secret: ${DATAHUB_ACTIONS_SLACK_SIGNING_SECRET} + default_channel: ${DATAHUB_ACTIONS_SLACK_CHANNEL} + suppress_system_activity: ${DATAHUB_ACTIONS_SLACK_SUPPRESS_SYSTEM_ACTIVITY:-true} + +datahub: + server: "http://${DATAHUB_GMS_HOST:-localhost}:${DATAHUB_GMS_PORT:-8080}" + +``` + +##### Slack Action Configuration Parameters + +| Field | Required | Default | Description | +| --- | --- | --- | --- | +| `base_url` | ❌| `False` | Whether to print events in upper case. | +| `signing_secret` | ✅ | | Set to the [Slack Signing Secret](#1-the-signing-secret) that you configured in the pre-requisites step above | +| `bot_token` | ✅ | | Set to the [Bot User OAuth Token](#2-the-bot-token) that you configured in the pre-requisites step above | +| `default_channel` | ✅ | | Set to the [Slack Channel ID](#3-the-slack-channel) that you want the action to send messages to | +| `suppress_system_activity` | ❌ | `True` | Set to `False` if you want to get low level system activity events, e.g. when datasets are ingested, etc. Note: this will currently result in a very spammy Slack notifications experience, so this is not recommended to be changed. | + + +## Troubleshooting + +If things are configured correctly, you should see logs on the `datahub-actions` container that indicate success in enabling and running the Slack action. + +```shell +docker logs datahub-datahub-actions-1 + +... +[2022-12-04 07:07:53,804] INFO {datahub_actions.plugin.action.slack.slack:96} - Slack notification action configured with bot_token=SecretStr('**********') signing_secret=SecretStr('**********') default_channel='C04CZUSSR5X' base_url='http://localhost:9002' suppress_system_activity=True +[2022-12-04 07:07:54,506] WARNING {datahub_actions.cli.actions:103} - Skipping pipeline datahub_teams_action as it is not enabled +[2022-12-04 07:07:54,506] INFO {datahub_actions.cli.actions:119} - Action Pipeline with name 'ingestion_executor' is now running. +[2022-12-04 07:07:54,507] INFO {datahub_actions.cli.actions:119} - Action Pipeline with name 'datahub_slack_action' is now running. +... +``` + + +If the Slack action was not enabled, you would see messages indicating that. +e.g. the following logs below show that neither the Slack or Teams action were enabled. + +```shell +docker logs datahub-datahub-actions-1 + +.... +No user action configurations found. Not starting user actions. +[2022-12-04 06:45:27,509] INFO {datahub_actions.cli.actions:76} - DataHub Actions version: unavailable (installed editable via git) +[2022-12-04 06:45:27,647] WARNING {datahub_actions.cli.actions:103} - Skipping pipeline datahub_slack_action as it is not enabled +[2022-12-04 06:45:27,649] WARNING {datahub_actions.cli.actions:103} - Skipping pipeline datahub_teams_action as it is not enabled +[2022-12-04 06:45:27,649] INFO {datahub_actions.cli.actions:119} - Action Pipeline with name 'ingestion_executor' is now running. +... + +``` \ No newline at end of file diff --git a/docs/actions/actions/teams.md b/docs/actions/actions/teams.md new file mode 100644 index 00000000000000..55f0c72dff6403 --- /dev/null +++ b/docs/actions/actions/teams.md @@ -0,0 +1,184 @@ +import FeatureAvailability from '@site/src/components/FeatureAvailability'; + +# Microsoft Teams + + + +| | | +| --- | --- | +| **Status** | ![Incubating](https://img.shields.io/badge/support%20status-incubating-blue) | +| **Version Requirements** | ![Minimum Version Requirements](https://img.shields.io/badge/acryl_datahub_actions-v0.0.9+-green.svg) | + +## Overview + +This Action integrates DataHub with Microsoft Teams to send notifications to a configured Teams channel in your workspace. + +### Capabilities + +- Sending notifications of important events to a Teams channel + - Adding or Removing a tag from an entity (dataset, dashboard etc.) + - Updating documentation at the entity or field (column) level. + - Adding or Removing ownership from an entity (dataset, dashboard, etc.) + - Creating a Domain + - and many more. + +### User Experience + +On startup, the action will produce a welcome message that looks like the one below. +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/teams/teams_welcome_message.png) + + +On each event, the action will produce a notification message that looks like the one below. +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/teams/teams_notification_message.png) + +Watch the townhall demo to see this in action: +[![Teams Action Demo](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/teams/teams_demo_image.png)](https://www.youtube.com/watch?v=BlCLhG8lGoY&t=2998s) + + +### Supported Events + +- `EntityChangeEvent_v1` +- Currently, the `MetadataChangeLog_v1` event is **not** processed by the Action. + +## Action Quickstart + +### Prerequisites + +Ensure that you have configured an incoming webhook in your Teams channel. + +Follow the guide [here](https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-incoming-webhook) to set it up. + +Take note of the incoming webhook url as you will need to use that to configure the Team action. + +### Installation Instructions (Deployment specific) + +#### Quickstart + +If you are running DataHub using the docker quickstart option, there are no additional software installation steps. The `datahub-actions` container comes pre-installed with the Teams action. + +All you need to do is export a few environment variables to activate and configure the integration. See below for the list of environment variables to export. + +| Env Variable | Required for Integration | Purpose | +| --- | --- | --- | +| DATAHUB_ACTIONS_TEAMS_ENABLED | ✅ | Set to "true" to enable the Teams action | +| DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL | ✅ | Set to the incoming webhook url that you configured in the [pre-requisites step](#prerequisites) above | +| DATAHUB_ACTIONS_DATAHUB_BASE_URL | ❌ | Defaults to "http://localhost:9002". Set to the location where your DataHub UI is running. On a local quickstart this is usually "http://localhost:9002", so you shouldn't need to modify this | + +:::note + +You will have to restart the `datahub-actions` docker container after you have exported these environment variables if this is the first time. The simplest way to do it is via the Docker Desktop UI, or by just issuing a `datahub docker quickstart --stop && datahub docker quickstart` command to restart the whole instance. + +::: + + +For example: +```shell +export DATAHUB_ACTIONS_TEAMS_ENABLED=true +export DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL= + +datahub docker quickstart --stop && datahub docker quickstart +``` + +#### k8s / helm + +Similar to the quickstart scenario, there are no specific software installation steps. The `datahub-actions` container comes pre-installed with the Teams action. You just need to export a few environment variables and make them available to the `datahub-actions` container to activate and configure the integration. See below for the list of environment variables to export. + +| Env Variable | Required for Integration | Purpose | +| --- | --- | --- | +| DATAHUB_ACTIONS_TEAMS_ENABLED | ✅ | Set to "true" to enable the Teams action | +| DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL | ✅ | Set to the incoming webhook url that you configured in the [pre-requisites step](#prerequisites) above | +| DATAHUB_ACTIONS_DATAHUB_BASE_URL | ✅| Set to the location where your DataHub UI is running. For example, if your DataHub UI is hosted at "https://datahub.my-company.biz", set this to "https://datahub.my-company.biz"| + + +#### Bare Metal - CLI or Python-based + +If you are using the `datahub-actions` library directly from Python, or the `datahub-actions` cli directly, then you need to first install the `teams` action plugin in your Python virtualenv. + +``` +pip install "datahub-actions[teams]" +``` + +Then run the action with a configuration file that you have modified to capture your credentials and configuration. + +##### Sample Teams Action Configuration File + +```yml +name: datahub_teams_action +enabled: true +source: + type: "kafka" + config: + connection: + bootstrap: ${KAFKA_BOOTSTRAP_SERVER:-localhost:9092} + schema_registry_url: ${SCHEMA_REGISTRY_URL:-http://localhost:8081} + topic_routes: + mcl: ${METADATA_CHANGE_LOG_VERSIONED_TOPIC_NAME:-MetadataChangeLog_Versioned_v1} + pe: ${PLATFORM_EVENT_TOPIC_NAME:-PlatformEvent_v1} + +## 3a. Optional: Filter to run on events (map) +# filter: +# event_type: +# event: +# # Filter event fields by exact-match +# + +# 3b. Optional: Custom Transformers to run on events (array) +# transform: +# - type: +# config: +# # Transformer-specific configs (map) + +action: + type: teams + config: + # Action-specific configs (map) + base_url: ${DATAHUB_ACTIONS_TEAMS_DATAHUB_BASE_URL:-http://localhost:9002} + webhook_url: ${DATAHUB_ACTIONS_TEAMS_WEBHOOK_URL} + suppress_system_activity: ${DATAHUB_ACTIONS_TEAMS_SUPPRESS_SYSTEM_ACTIVITY:-true} + +datahub: + server: "http://${DATAHUB_GMS_HOST:-localhost}:${DATAHUB_GMS_PORT:-8080}" +``` + +##### Teams Action Configuration Parameters + +| Field | Required | Default | Description | +| --- | --- | --- | --- | +| `base_url` | ❌| `False` | Whether to print events in upper case. | +| `webhook_url` | ✅ | Set to the incoming webhook url that you configured in the [pre-requisites step](#prerequisites) above | +| `suppress_system_activity` | ❌ | `True` | Set to `False` if you want to get low level system activity events, e.g. when datasets are ingested, etc. Note: this will currently result in a very spammy Teams notifications experience, so this is not recommended to be changed. | + + +## Troubleshooting + +If things are configured correctly, you should see logs on the `datahub-actions` container that indicate success in enabling and running the Teams action. + +```shell +docker logs datahub-datahub-actions-1 + +... +[2022-12-04 16:47:44,536] INFO {datahub_actions.cli.actions:76} - DataHub Actions version: unavailable (installed editable via git) +[2022-12-04 16:47:44,565] WARNING {datahub_actions.cli.actions:103} - Skipping pipeline datahub_slack_action as it is not enabled +[2022-12-04 16:47:44,581] INFO {datahub_actions.plugin.action.teams.teams:60} - Teams notification action configured with webhook_url=SecretStr('**********') base_url='http://localhost:9002' suppress_system_activity=True +[2022-12-04 16:47:46,393] INFO {datahub_actions.cli.actions:119} - Action Pipeline with name 'ingestion_executor' is now running. +[2022-12-04 16:47:46,393] INFO {datahub_actions.cli.actions:119} - Action Pipeline with name 'datahub_teams_action' is now running. +... +``` + + +If the Teams action was not enabled, you would see messages indicating that. +e.g. the following logs below show that neither the Teams or Slack action were enabled. + +```shell +docker logs datahub-datahub-actions-1 + +.... +No user action configurations found. Not starting user actions. +[2022-12-04 06:45:27,509] INFO {datahub_actions.cli.actions:76} - DataHub Actions version: unavailable (installed editable via git) +[2022-12-04 06:45:27,647] WARNING {datahub_actions.cli.actions:103} - Skipping pipeline datahub_slack_action as it is not enabled +[2022-12-04 06:45:27,649] WARNING {datahub_actions.cli.actions:103} - Skipping pipeline datahub_teams_action as it is not enabled +[2022-12-04 06:45:27,649] INFO {datahub_actions.cli.actions:119} - Action Pipeline with name 'ingestion_executor' is now running. +... + +``` + diff --git a/docs/imgs/slack/slack_add_token.png b/docs/imgs/slack/slack_add_token.png deleted file mode 100644 index 6a12dc545ec62c4c08bad662b8cb696eb00c27a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98502 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

  • xTl#H@!VK)jyY20&WS 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 L+@$JH=eYj`+__W( diff --git a/docs/imgs/slack/slack_user_id.png b/docs/imgs/slack/slack_user_id.png deleted file mode 100644 index 02d84b326896c8638d9b0359c7e3aebfdd3c521b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40063 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

  • &n0KLm^tU?G~~p^lgly?==gg&p1&3NM6e&{?%;fFTS1#C`aE@I>&%mc zB@gftMp3UT8GgK9OD9+kZ9#aj^LcuIa+Hh`MSr$)!giwF(*5+{GBo!c^Rh}98R&A` z?|FIeDJltty{KE$H}3f9_3HAw)rOT0h)(X!SCm%O1MK)SMN!;VRK+z;G-%CX6z`c@vQ&(f%34LXBiNzMj@Sf`hSN)G)H8I9=7fuIzPE`V#hD z&UKX&Yct|U`%Ce8{!0$-+PE%Q;oD>Vnoz3@g|)~Jyjpw_Banyc0u`sZ`UvREZN0W0 zYp_a~c(jKbim|}k*_1S)BB>zxLs&YjwgV8EUeHu@C6ap&Lq={&>SOB7-2MNx^@zfU zbbTRXNKM zV0ZAxN4-FaTNdiks39d^+A{RM>-=W?lZ61061j!dDwzGJWm_974x4e@?w&p)w>D?o zdus=`niDOXv6BhkcBI8j^)v@ai=ExjNBOdJ#0h%e4YvL=4FQA@!no+YPd|Gl+jG7O z8xGDJ@nbXT0d8h1eZss8fsE0mfL<7tVROw7wwRO=!S2J*g2$HLulXSTa`*Q{_D z=TK;+Wg*=s9c8klOvzbJ)`W7jk*?xsa0HY@Y4mJv{pJ8$hg=Co?_r0kXsINSsYr4y!&Rxu5w zr}6v{xd^g5{KL)23ulBGSmyUJWU3fKLdreEV`cC5e1Ib^;v0<}0gEW^wV{uO3b}Pq zNTj8}s{e2B=C5BGBUYGd3JBeEy+5F;yl@!mmaKQrt6;)&1aVfGpgMQ}APwS-8NwM- zrJLiwmbwtjaYlo24G@DbDd+|>2w^HN;cX2RqY*^j5@173M}B?v=of8fCR@wGAh4)0 z{l;8Wcm*Awo@!lSOfWqpKexK#tQbG)YdZC?GuwIN{KN>WyZU~1KA2x3EV7sy?<&xc zj|-nCLw?=&DI_>FF_CP#`X3+e-@W|yRZ4tS9&IFrCJH``dC7&8|7;>HbXiIklaw7v z?uDL(!KDVbGVR2gD?TMcefiVi_8)Hf%L($d<_bkHP;lKer`eX$_-EhZsM3Wi)#c)7 zlZJa&!CXdN8+OMGGjXb$2tA6ouNTJVt4Gs4T^soGtXms zX7V6=LPyYdw(qsbT7ZIeQ||l7fsM2X#k+*!A*RMd@zmBN>&Z#=z-_P2?zoiy8FA_p zjQKdUCE_0rQ2@XSu~vk9ZF1_~n2XRD%Ne0|n9C+(y^hWX^JARZdVU>? z4-mj$rg(cj;6w9dsl`VTOSSKwhH~O;p(d)roal!^EH&m|!hjm4UP-W4r}KWKuM&}? zG|KoWLHFtvWRR=%%hs71ln^L9{`_-Ahbx8veR_e}fwQ$8>247UF8-K3zmJd$=*QP> zcNY~^o#A0W+Sq;=f7zipSGgEXiZgG5`3LP^5k2?++QN=jTP{}BSzcRqM>_1}OiZ3% zU-PN=YkwZM>2$yIb^Snt!AO`C(M4Y5pl9;1Re-Gr%j~+N0tW6>AZ;X9ywp>~tUqkj z{BUAF_e}=aiq9b!$sX&I&m)=G7_uHJqc1F0Vmt&E{qm8;k{`$Jz1og*tNu<8a%Ld0 zoIqPUdW=!2fvYi)<&d|!M?KezGgU09GXq_)6}N97xn+}(-)Wu>N@!oXlFOxbqX<0S zb_tECjCk%x4?Pb>sQxWkUXzUmY)Uj@94?DqA6h_43X1FP5xe_&EqPsFx@`Hd`0E7i zMc|EzqVn7F(hsp;@C2U(H7q=qAe|#A@xg-JV)xT*!$Gx@4DJ%{OpRcaxPw6Ej_*i` zg)^q+79#9Ok~@11Ph1>6Uy61kq1{nitXxgCuJ~yZ1=Y@;C?}a~KXv0sNZk(P+F`Hw z^*W=qz5@D>gqswnq7;ULrIcrwJDg&T+qDP(@v?q=r^o&7b^1yuL8P`~Q%;So@a!Q5 z74l+X1uXn394n@Kf?&hfSmOA;?EryomknDl&h6=o1Dw-$s}}Owa$w4P9}V31ZptIe zDc>k)Hg&8eFYR&*8qf*+c=x^>Nm=}Yd$;9>vrd_4hh%hHFD7T=Qak~Ewq9VbNAMuO z`u*qTY2n6NK^?_tjSemmaR6R|9YyBmIyN&yB(3(aQ1s&g!w`(57>6yj(s`d z>bCKj#iPMgIY?A_i==q>SQyC#4$Q5k(%0o@F|OXr^-XDYEtQ-8n)Q!uZb%dY0m<7v zHPTq!*`9q(z5t;sFe6n7CPW1-d5X!G$b-DvUJ)-5*{p9Z<=xN%Z%{hiuCD@(!S(-m z0UCgHN;d78+9Jr}YESvVN9>u?nb&rO3Hueum+E4B=fCv&HCW+8LSy$LG*2am9?%T$ z*8!v!WdQ)a8z7#5`&lxFdqPJJ1WjkiYjl-VEBST4poA*qvII{A-G^f{-72`c=IhFR zR>1OWgR}l^yE?|7h6=%GYq9R5@{kML+|0@raz-RiZ8J=$ytL|@)zYBJN_hZ!+`+F} z5D$CgL4OlQTvPQi+&Q6%nQ$)4j+t~ma1pXOF zys7;%EMkRT1e8$^*PTllG89XB2>MuZi}IFQt#hRRtwO22t7byqL?N#MGDe7VHTm37 zD)))=%uQ|4_h>vFFf4Pc0qsQ#tLZ?pE`A!DUl>i1t-+R6wN2JE*vc``N=~wNn6#W? z@hveEE}1Y1R^p2Ge?{3d0c@zMSy^luxn!>^{zs%M6_$Da%9%DRRL#}-+@2&Sfpn@gK^+IlPrGHE6k*Y3@8 z!{U__)7;(~<<^(?N3T056V_{u^6@1jOtGDG<=f5cs@L6D|97? z22$4Z=QGY!5?&4Gto95FGFhSdft-xF&R-ptdaJ5HEXd&}or~stjqEOOT(FR~&Qjr5 zbT|^0mwkSV^?TFB%w=nUuGCHom8`8*vnZ*f02+t5YxvYE38SEhv5x;k-CGC688myN zNs!0u-95PbeU{|?&bi+?`S(`cnkuT; zooAkzp6;HOU(b?_+3NqjG~x;$j|!Xg!%MY|7&ofX^KXJt=_PNY`M%heE%UN>t7w3# zy?(jOQ7TxT-YHx5KXtnxe;k(X6y@nKp#R1ur^RtQt?x9 z(A7Y8GGar})7(lTBv?oysA>eP5iK5#U+F#lut#p^Xp81)KNe~*oy+Y=FT)<78*y|7 z1oB*hL~1IpMa0kiwAE(ZEUT6#EoPge;cnjxQr*(BYd@8&0QUi4Vqm&SN-Mq}N^|FS zKD#<7dqbJ~j^NuvD0bwRtFxB4Wyu4~$zj5-I}eLbQE@+0CXb~}&<6AINzckwg_ht@ zZ^Y`ENahnWSHePq?DeFvC@FdxnJC-RVM1SgntT&elDftL%Eb!b%sFtyR1;yf^r*p~{6Y+=*ecyTu{mR600deb;uxOmq724ufBxeiKOlAJ%b+DlqGr z7y|W*basF1K3ZI0gEYmZ_1@@L=>J&=aLVi%0+)Xj-xbx_Haz!eX6Ju$b-kiGzQP4U z+8>hukk{Wx0TFOMT_~A6nK3DpuQ+jR>49N0>i>D|1uZ>6{C;0_#?uII{ecTbAniZz z&6vgm?#qA+CK7ZOq~?^PvZY_w0N9t`hKWS*4W#|CT}hB$aYMZ!f1z6;q^iM2KNm|W z@HB!X3h*hU{XKx%`72m}2hp&(eNKEn+NQ~`Yy510ln1Xu?lyt6KZhzmE|nv!usC$P zo_~40xkfFG9QbL37((DvNc&4FV2h1`2T5oh;WprN)_F32HbmHw0(0u>`WInzZD#7t zRnnlJv<4L?KrTr8Ym)#E4gnAHtNupo!<6iG7L2qb-4X=m6cp_B1{1?f-4!fEmakQX z{oZuqS^?FRc)TUw{aq<0sC-+v6?PQWY+d{?hTda$u3SHO&|%};8XxgR`B8Hv$A z>L$SsJ%h6Xsm6eeiH?CKLlqIpuqRyP{_$2>gHo>c*6^5oOJOJv7|v}FVj|^>x5uO7 zIX~)EjJyG9v+!3Q92YR?j_N%jw(0x%8E*eybRQ^r!h~!vZ_- zs7phD9>uUG7(tMfBKEX1LGh5Cj$&YQdCMNZ+T8H-IDU-*AlxGYl;=BAY9ftfW+Aq3 z-H&~;50U+nKEm|%peTkZK1xXRrIDCG!S4&%npS zqv$2G-FK&>uG9;TZ*uySuMEaJXC|PyU*@6Gf8$d*1zr9~jKd_23?A$Rhxo!g5#Yfc zRx&#x=A!IEmNlE7AED5c@4aSU-7ckXmXIVRoB8}5&9VHOEa2%!r37K|2luOo34OZ$ z{)#`PP5p)$!Uz%tmDn){9QWE$7&YH-7V~uIG$+BjWTMSvZ-I*A^rGwZn+N|*p!T5w zr^kP&&W+-4B_qhsD~g)D&?>?&vIw}A0zN$C*ZTTWEILdM zTrV+HuEvq=pF<8(#nvErV&`v|qp$AH{4s0uv1kMUolPHOs&%d}1%@QlQUfJenvA)p z^!l8Ke;A|%DaMUdg7C})@`nL25G*bs4ghLBi;}tt1%XNp9Pv|qnlW4RCxN(f!KFGD z{5Xv_%S~rKP-yLE^;qWvfZ8;C*7q7zJs6A(c-upswxiW3!vHZb^t5R-@crkB=8aO)^1Q z?sJDz)2|JC=@Sim-*A!zkfWo?3kU;$_|YW51|d{$-jD1w2u$^CV#euzsi%JaVwcP#K^+@M>E%d>v-Bl|0xUbbik-?OVi3HM%Dg@GN zRG%`TO-M{}K{Ca4brD)!x4a-tQBIE^Dd0I%L@1=k0k7*PDM2d9!nThetzfVx(GTd< zH+H{sr9oy3^z&-Rr3xg;WJ;*7pkNGKgH!7zKJapl#HB`Jb`YJ2{?lt+Kf?e_t}S4% zSq@D5>HYbdu;k*i*D;}7a{G?2Yno@ZAnzQpd0NrWm!gpWfR6mDzz1;couuOk-`13I z3#BGwP{&4;HI^)LaCLK zdx)vZuL|6SL{HnSmw^VGa9fd*0pn&S(F+4l zLGTJAs2~DN6Y>n_uLQ_zB4s=udGYxLrKIFLae1Lv{5ncFs-|)^d4I&M+V?rDS5-`m zbVRwfPoQWVy1*RvXDqS#Cpjw&f6n@R_F1Srvj7+~*iEz$l>!;fRN;@@d`5-(48H*(VAPBSqPOs6Z=%RXpF~?{s;QjxLGcqLbf|0?JRv z0<}1Z#^Z@f6aCLx$RS@yC8vBU!XZb-FjfCQuX&3}{$->#FC&O%`>uI%K7l2~Ta@zXo^7j80$66I7nigfFCneVh5#;|(8pr!`PgK}Ug=#VZ z+U);JX3fhAmEB4Po~9i;{4Y6+mDwmWANMmA0#-5G|BqhNT1q8XYKegm?f5R;s}PeM zlR}1x!D`xI5p<&F2jUSrr zrrd0HXsVo+)Gs=mhHOF^eXs^5URKR2T0E(id=1z_!H5td(CFRSDZ}Ox_hX{N9(#gp zYEumcVagi5uE))WiV&ffdc$(z{ih-%G5M<<^tuXPk60p(E#hW04ctl&Sg~0g?M=wa!@b>2sh1K&5z8kcDOQuTNno|2 z)#|N2Tc7olDeKlELz$Y}-EMT4+uLkyx(O68;?+T}C{IVl;+8G@@Xji1140>!d zgpt%pfgH>ScTQ7xCwo?(#>f}Lr##rCyZh5W>1wH6R&v^1q|hN6+U{WZ-6k_zh~A_$ zbu)d*SaiFdFeKQl=-KM>qox$FJ-eFQ>=lt>?(1!U@((jeIX(QaL}Mrav8iC8liz|_ zeiZCOX>6?=dW!daTLbLF(fKx1ZzcV`YuNSu4YASE0~9ArZ%}Mev2Ui?rT;HyG@MZ; z>yd~v&XYq>d9TLfn%~UL>;)LQH!QV@dG&Cp?yg;=%Jr}%2#x3OGoglxd{MJ*_6?hS7=9F3#_FQg1-|-dHMnAs@A_na<*QNP%hZnlwhqHlCO%@%KgE#T) zNgnqEV=IAD_`WZKtT`U9MNZXDC&d*b7(d;$|m0{C_hR3`PHk(xQTI0@R7SO)kF>cCH3?XqoxW*YMX??6X4@@8pF9Ki;5rBt@06gO!B9Dz-kuY% zl{h0}&z3M)JdZup*|-S~1B^`hR3yb3lIzVm8pkNTtWEFXmzd$+4XOf_`{(QfzQOUo zhGIVmw40__;MdBa;jH7;4O-vrI}M6a%FWo8Yuc_2CmZpv>D)HS3$#NIk%NqWLwn2r zxE{YWwgLN;Pz!@kbK1bxr)BC!qft3*t%5KT!+w05hn|)MwJsX>HsPu|(?+X=*a*Te zwlr}cx78_+EHXXtliN#*%)y;q#;$Z~@xHg@&`h-=F=5;b^;itLUQnhG_$_??*m(IQ`pli`~VnyF0WHBL))yYGGXPCVwk%s-fZ5^Zn=(Ji=XrPQPE(tUd1u#ys;VuEn}_r5%W>~iFr|K_Jay-M+aV^bs-@4jQnkR$g$cQ+;aNG;nuV@g`)p^8E{m8kH zcMb5`)d$2;f-i4U;|KQMc;8xuG%$q&Z(JQj?8T>?zo_yBAq@QWdp;`s9S zf^jaB{lwye68M$3V?`zbE-B)-oJK7vd22)DE2f)KH$)O2JpbpI=dVd8aOW+S)m zo+aRVuc?X~SWr#DtRhkj4ipxh_zCYtGGeVB@oiV+a5jPHK%B_$v8-3soM>*c;xI?9Sf@}m1oRi<`N&y<^W`$>uN5xQhO zI`SBQ3(CIrDJfv@IRfxrljVk(FPKkX1=TQzBs2Era@w4*-V(GT)f%DMs0JJj{^0WV zrrxo(xc8G0fyeM6dVw0bNf^E6CVoektbvWuCy;mqZ)%QjDnh2QOt~%`tu1$>#qFIn zt7bt58>I_5bHkz}?j76|BaRZN=bqg?PlCdi>gi&jpE)%@B;;~q-STk)!35God(w(V zkkB5T>+A*H-mUDuXE9y`pEXC(%a*l1I4*Gc+qQBqP8+6b94{>gV%M5aSFRS2q=X@! zlR6u9*-dK0<|%B&k7)_CugzSATZ7CEKk(I#&PRhhcz0Zxp<;G5&*@=J{UL|=4>eha zsnc}wV{VKhOIoOh2Fd#&AENum$n9nltt`1Y>qphdS+14S;kuSJOV;7qhg=?W(wZ6# zi$RrRQ{xOJ^`eq4eh-KRGBN`9yw>VSN~fkjn$q>M*%0KmMK}c)EyD_zaQ7oW47elZ z$q}&z;pXEDtiF3`{9)jL2V>w-{%D1JYcV-o`694D zPZFw!=F{|<$4P-I-LWDO_W&V{U-?~ra%XA8zx8&xF6EoeL@554&?b=nIvf0|)eg3A z=}oHNdvtXQJv$>Z-E~1`c0je4z4P!k8BQAa0_pdo52%`av~siBb-4&{)?#uf6%gI0 zgbYI!f=1mc#)M_%u%Wxke2su{){Lw1&cYLX$79J zN?uO9&$V18+o?`C^QP{XKDuMV*rKt@*pr@l27X@OV$~!joZ8Tn{xx>EU~v`?dO)NAI6z=?z6Z1p(?jxZcf?p zCk%zeQs6Qzj3Xyw#Ce`5P<%1XgBRsX!fTcChL784b8z=d0%-YD7?XA(6|e4aq}+U6 zMzj20vHP92VbNfl;(n7c7&x|PT7)ldc)$DFtHQI&9sxoC#5JHw&MzfM$Ud)eY`F6*M$vXF1Yth&^dO* z9B^CAuGL1Nqbk_kFVj^p|Gqo}MUn8G73p#wogn^}+)CZUXL|ZtSuv;9J#{FZYilu| z*iF?I9^;oBQOg2`({}de_a)}Z*7b?u4p&^RhPNS|fxCiFp2IPcVk(L53Bh}p;_Hp6 zrGa$z$4cTByCEDhHwMXwXRa#42%`=DsT`@+aBOa-bWo!_yDn#l9WtLLqde;tDIC_d z75u|{5*jERewWq|*4MXfb1KJ7FAah_>m0K$9!y1KxbD6cwX<^hsw=^TH?EACd%$In zPcjJFC@w8zqs+59oDZ&C+%M|EA0N=+GIa!z^ohMTKh$ZqxxN;IhUa^yYW-{LB_Bq& z6}`8Neh(HV&%;O6Tn*V0bOF6nt;n5v^DYu~S^TexFQ0T_p>D=I7Ea6-Yto=4)oB!a zZ)ey5*&eDkzp)+r@>vcWy*)ol>*+W6?`fp1w#k8uxDL(kFn7Lq@Twv9p7y9~B5Ltj zfN>U)Pl=cotXnM!@^ug;@=A46!?Y73Js9_30MYsM^?GCU@*+`M$+Hjy=!Pi03{w~h zQY^J%k_vU$GEcLQWhru?W-zgTf4}TiQP@mxJY7^{X|ozFi4a9nW3EjiF`;z)@A5h7 zlG68K@M8|x7}^oVx6|eBt0yJ;>K!=bbFJ_&NXmr845^K?<&*w~#}{$-sj-;~b>)O` zw4ErI{4RhO#MyI*=cB|0q8vceGoLBun%qsQIU#J;7l}IOcD@<3PXNON_H(}zp9a_K zdb$1w3y|gZ0fbYgVPiPKiCq1(F(*I}BKt>=$8l(Rod2Tt7$!{%b_SW(=rK7073@MBhGPj_WNCA>T~-wVeahxD<)~d17ZU;>U6PFD-(HgP z%}Fr0<1Umg{NaMwBt5GwN(aR8l}(+axC~(qQ^b5`WctEJ$H)JXn0!VV^(y0clcl@f z?=fcSn=(%V%NaC(v5*-xt}p%BVe@R%X}gIR(o`gsYT{gpjYd+4VNHBr@xVSVUFo^k zAC{EmW;nd69~&1uD&?SN8l@hHjqhE5IU!d*vBkxc=Movecg!k5Z`^m_UK#wX^ZC@m zTJ;An{>H^I`hDxcN*8p%Cj=>P(a zDrKjXqh17^W{Lf)AwKtP$9Ea2m6P9AgCMaVQ%E3K2KrKL;?lHoj>kdsbt7n}XhE^; zkFtT7WBe*uBWe;8-I9{~#g5oe6aS1?$I70U*pKHv1s#L_6_TS>7NPmBto1bfuKvF) zD9OAVWiC^N8b}bk3y2iH`QPI9*hN`bS~Lt#Tz>vP&8)w{{Tu~%8loo;C%{YZUpa?h zrBQ^k*my{sHRI-A#$U~^f|l5@KY=>_iho&~U4@^0r~0Ix&K~!FbyC|=T#^*CC}abo zp&6>MreYEHd#OJ<)wRE*HNz%0wsc5q7A}tS$`gB7;VOQ)yCp4lxj^kd=HH65wLd^l z+gq&Ln7{w2Zc^y+WYxa!;x|NydbulOI`%2rWnW5R%IUMYH;mjNO99bRqRu!iCQr>+ zcGwb2+j>rgZm^P#bH}AAbK8vqg~L@Xo$=yPf$W7Al|B)s#}uskBA^9wsI9WcUb3hp zjz8?_;!%x7NbJ}`>u>rxG<(7(fz0$=5X#lLU_YP3R@N{g0=i~xe&vQmRGOYDPfGma{ZoaAj*w9BJJ=RS#uM{uZqug4G zia$lwxjeXF55!C+%@nJsIQ^0!0hpiyS$H*gmZ7_xO6^D%}O8cbmFgbHR_yUP{|)yj@+Encg`oYJkY zjQ6F;y0dH82|9O}6w^lqz`=o1hMb727NW&z1y<^jKKl9FJ`ud(I;Q@9962uM%y&q1Mx7Sj61zz8{UZT_#%>v<5uP~#GN|@eym`svSPRzW|ncLJn zBazc3!@uNE#n1S`lts3z8tZnHxXH)7$lvf$w*)7$Omm&4-86U#TFIrNCS#)a zU;lC=8^i}1=bi4-3FOz%@m;3)lod|1Q zg_S95kcQ3Q@8viC&EWDNDb|t*eC6;&uYJ|%-~K{iQ1-i#}|$$RTRM=ssIh%M`KLYG4#;Ks^s&FIuj$0GMr z)ytP;#*NgS_pG78_~TrQC8yYZ$vtBTyPhAfHeg-Jt&wad?Tt>pZQt5XMKV@ZktM3( z!hm|x$sDlnv?9jOU(bKPKkO77?R1?~OwN9RV`O4qv3PQudRSKgZ2?6KK!gy(3(_%5;{}6Ym!`FQH091x!c4 z5U-WkzZosxz??&evpdR#XY()}>tKqpE+~mlA~HEl(rKePwpoLgs7g4d!)}|t&gB2> zj~cj;W`i9yVdcNW%fkXJ%&AHlv59xAK)vyI!NQa|&mO3Q7rV)@%8RQp{`^r#Z%+kN zvGG9(gdgyvSV^HKNX5H-P_ib=^zRFlz1_RxkYB)T$=uOd&!>DJKO&dj4JDRl+@GnOS@SD8anS*|v30raT#y;yytU_9 zD8H7?OZ))BAS=Xy9DQGL0|1u*S|ar_--^*vpvW%_0fUyT?R)4BrDU-XP58OXWAn-b zNr;&K80I^8L7qr&0dN8QNaL@7Y(5s8n;%KRkCQqK=0^V{eEac-lSD|)9>4=cA*3KVzv*tF zq&%otL-?M~!RR0h758*>*8)fPD0JyW1LVK|p8L*MlD8-Uk1v{90VG@f*8#s4Q#oV; z^Jf`!|IF}%P0g^fFO*$@m=oInw1ogr1|I7d)m3)}l;tST4J5uISfPOAa*SxipS1Po zaUb#z{{b-YBUS4G_>OF|OV}}1gD*ud$V-04v?{|uRt`y1Mi~R?;3&G}8+u-8K;^>1 zWc$grtW3a~LjB;Sgifqv(&`m_z?{m+t~S$q|xN+fBM zJdrPJnQa_h%q%we&*-#J<`WsnBXDoA$PEI#X<#C9$Ui9+DtYZ{|9!jOGvu$>{FoWY z80h2%LHO;$Wa$_Ve%V~!Cs?jen`3~hb07xA(J!6__8FLAXb*((6<)deX&Qw@xEoXG z^k^(Py#&_4>Va<{I4x;+el6W01_5@4nF#2EN$)#`R~*fk5C4 z5@Q}q-RaAMfpZ(d&K<8#AOsr_w(>e@SK$0FPNL@LS3ps)$k4I19DMTri>Zl0e1egb zTpaho$i@mmK@cx`8IJ$rmYNrZsaO$D!Qf7QwtuioySeG7t(vGOsQ>L-T%lyC&Qx1XsZ)}Ykd2b( z{vS3fKro4^1LWLHC(kh}ooEwtd?Q%o*G5TxNK^j>G|6ZOE}=HIG!8Q^H69u^I+v7= zkk4Vd!3=<{LFBIG9(~ z6VFp-KkQRMv>6(dFXNB-@C|6XWpyb@dU3{?j0kyY-&Y#C&;Yjek67>ig6A3q9! z@w1-2C~Exi(Y28GNonh4&>>~Or{rWCfPL=YNV8Ukz|Ge37jdjUft%#rfiM5^eTwQj z%SU%cldtm0Pa)k-epg(6f(&%YH{$YqvxVs8`_Gkay279Mzy*(=EJiqDx%$nX_&GRR zK+uBb&vf^7zqURCV!wj=0dP6YTy>N*j>#Zjqg=)t& z%ug|PMZSOX7F%p<E1G09eI{ z*8k|mKYjf;*c|!}oh_|X6o%_uk z`;8XCzRKdlFujZJRx^8BL)whoPKWQ=AHJKkwA_WZRWfJTlwaSb&uwmLd$2TJem8+Z zY!@cVt>q4x)!t`-%(5PYr07f1W;5{!-09bY;I9ET0B*lz8|qa^&lc(a&3P*LoW(QK z*>)7;)*Z-W?d*Y%9{BTJl$!riLJ2O)Y0-V@_iQu!JszK}qLx6V-o`r`j#9TrZ_e{x zliRiz;Bo;UBs{kEJJ+q!2G>K+%}z1O!FCZT>D{&=3`)b_XgSYippu@1z!onbL15KQ zIE!SnGJ-?E7RcwHj#uWf@Ok?q)wS!-`}9t}+_-3UDwe&34%a6FjRcNeX- zSkg^Z6$`_+=nhHMNpDHKo?bKh6=SmLUj#}r1Kray*%B*OaJiarHSK;nrv>6(oGkKV z;Pp%`_raBKJp-V+$C}BgR?B;fE_lyEKNw$-hTTvl0Ct%S!DIgbz!sd7VSFgFELM&|>7Kqm3-+;h2|KBkjK=y#VQZoI53w~Hlb{g^S#1w#f zs(5q2S!(fmd%UYwov!B7d~-X!1G-a5)X;>}juDr`f%5U?2U!O#M16JA%PRmZ1VHk_ zRcp7oXG&wG)HmOGHpEoKYygphO1n!fyPL7$N{`9XC7stE2E~vx8wMmOK85Z=w*61#m4BjinEp@p)08(4u*^KExb~%^JTxXyT>5b~I}xx4oaoi+3r4VQcp5EN^9=n1tKbK9JW z-5k8P%JHN`UiXnu7+7$9WZ9dvV)TYZHB&0Rr55+Ny>Hx^Ypqa9lbDjwc-VL+4w0po zH)6(v^!cw5(aFWaTP@Nwsx8i6uEqe$lc!k$;RoK*Z2VZO-H=G7Hh6^Ty z_(hVy-@mn$*~TD`-BS2i0q!LJii?W}=Z8cP$%Hm8n0LO{=5D-k(-s*1%i(yocB)@8 z;x_C^In9#4|5uf})I zID71C^+~0>eG7amWU!-tU5uHB#GSawz+p&xFcg0>g8+@bH#!&XOnxKP|Dp3@sd-Dr zOxdVrE%~gXkd6o3ejEMmPEB?ke)|0Rzp1n(6x zVu>vffCJgwF;+ zW~2R^YL4W`&gjixDec5z1`XCCZB_j=jXOoIL%qHPI?!&Atz0S}3z=r$a4o*!*(rQo zbPE#>y;kK$ru4yBk(?(1n{33oDcNqAqswjTgY2GBA#9X3ufB6@fHKJS`wB&qvKiwkzX$SL+;D&I8 z8p?csv1$11v{=6ybSZ!b*I^8tQ%1L8sXI#tZfD!HMn zLFU6ND$&6b@!GYFvJvFGwI7B|Sd3;Jd0l>6cq_GE;`B|v?o0;IKA&236+|_M6Ptd7 zxoU)Ck~iO8uqW49R_za8)dL5ubDg=%C6P`K%(O;>se?<3y+ewbxs5K@ZbI3e%_*`z zt@~~Xls}S#bo2Fw7kanO4PLOE1p;hP!YY||wi4+=io(fz*!p_)RslrX9DKTqeKg;cZOzLm6Q{eMcego@ zS~n*&uJrH3ms8n%-rrCnBF%Egqry+22ZV$|FfNvlu00o?@y4YUUA{Z{`lK7-$yR7b zfZ0|a423QIxX^5DG~_ZriLSR7PQX66$bLE3B5~h=vpTm``t4xFBToSnY;Y2@W3pZG zbwnpYfWYOF<#E16A6G*|goS_g^N#ZHGuzFoD!jrZln(NhRcqk($F7^Lc_&YpZqq;> zO;rlyz7Eq#Ut?d|ki#aFNHbLCg<+B|cofO!_at-_kbWB@5;wU#mVDZ?*2W{Fj z%;F<6_qO$i#g^#K2kgqPR(s&1+$=iD<>m#sh-vKGZ`9d}8(SY&Ohq*nEMY&vqN#{F z4a91O5wO;mu(3JHJF24-UyB|y zX1*C=XninJv7;YqbvoFbue8Cmu5FpG$_%%t>XM_AiigS^Y=16AaZMtedJbNa-VC7o zvd*3b!=x0z5R6HFhKP+Aph|%NUDuT72KKSGk#4*?z{R1^c3XKaP@}K4H3y?9fN%S+c5oo;Bo44X#|(;Q=;~h=^ob;H`&D=$2mw9D+j$q zYp@r?LuqxBSU7%UbGFiVqZU-98+{BaO*Os*)4_a(Ld{%E$uyw8SwLUAEOYCDmEt}5 z-ihmUaA^i^0H4!gW&E@E6)RXqZ4=By8AB&u7EJq1_t*>R=ixq z1*I-;9TJt-vshyKIfu5eW>iquB6+xMTs3b(!xve9HBfq(UOO$W&-lQ3=$XL(xqLhO z*{e>m?5maQp$8oeGED4f_AKB>NAw-Lb`Ybs4TdH0gGE{0r4zD=Da9E@SeSY?v;#<} zYePowrmGCfjl*B3V_yud^|d$XK}(QYbee|T7|aC>)tg^eRXF#+V@P*jp+V^lUp<|Jsz3mH%jbQun{r9DB zJ*%wSmtQwg^=`9o#J7n{8LDDCo!A+h>{muCDD`X%TpiomMJAn|SFx>350UfDeSv$6 z14o{W|LhqdwuG>NBKy=Rd{q9nQGbxdb78pxm_Th}-?L;Y?Jnls-TBK%8;8x(4byNv znBI78&Ds_{depEk1Ppdq5^;nAG7tl;<@kpdISuy+SqO#UkINDCuyoDR=?rUyQb|_0 z<~Tg(ug26K%XwDiw&RqT35vRp)U4nRgm>XUUO%xBU4<>=ok<63bAK8h1uU-nI6^SyiEyj(yQ zeTYLI3cq@+XCzE4Uv9tteKnP}bbohJqs}xRAxG%iLITVlLP6m}23cug7EkSv&Zd8)P*bCorGd5&o^hXr|(ANcPJz{Ya=as8iKf1YkpVl4$P@FaIFYebcc9;uO2@7*ZE$bmbmK=WX$~F z4kkcP&zY64`x_%tOvTCASNN0Bs+$D_0c<*4)Vzd9?O82@cA>iOCZ?QHn+hloy$ap$ zhPpo%)1ft?cOE`3Pd>gEtS`z0*5q(aIGNg7l{IV~WBf)%z zJv`Y5J{WIm-?b9UCy*naM4)-hq+AUR)eL!4XNw${eN-3*jEc2sH!zv)O_t|5xFAA{`D=eWGszNan?x zsuOx5It1-qr{N7J{Zp1*)g1GnmJ%&T6K>+HI#3G3e<0}&O( z-Pd>7vx$3DDneF~hKLE?oa}f@rwmz6^igZ!JY}K5uP3a4!Ps~YfM8OG8Au=w2=>|bhy#*^3`%^&crnDGqpGQe2_vMCC*m;I)ULqL@~ zbchgFILeq`d6>3}{oEi|w_jta-S8UhMgr2`bM!( zcqxuqq|Gny!t%(nJl+8ZquV?aes09g&j~AW_OLQNJVTga&)1`i=1L#J*C_o^VtuP$ zzKHYa!R@R6(N2?0BEYXlL_$29P;0~#B^7bR|3X=P_Uo4`#GC!-vM`N%r_PFq6R|m; zi)B7)&?MgtM%E|*cSgvHXz3aARW+aa)%Ky4tWRT?6~O)43+Id;NedDNON7hzki;{f z1WkOBIPpC%8*^4gzS^2SNxePc*3-bZp!+6;xP(mMrMEZIHS9DnAquFmTe}@h`qB{9 zh}EH{FAq%G5F1k7@{Y&OeK=lQW4^XCFxT7gYj4{pf_Vq!o(D|91GiGLqV?Ld$j?dD zq?g#d+P|%gyQtW-Sa}?x8R+_w!}mG_|1e8(pPkA_gAG!AX%EmzyTnF{YM5C58~{ZD6=m~ue@2YVSKyk>Z~D^s#u6t4Gt8sV$lIlp_cuB#beYyRJ)60 zHYzLtF(-MtfAyNkI&dIXD|ia|%|c31|F;_5d@PYUl~;w_6RE%}C)$Btl;T%*WqJ=K zm~e2~KS4Fhh>QSsg2AGI1?0i$URF~}o7Y&DTX`gxGP8Kq=dP@l{-HHunOf;FhU6H! zx3hQbw=4DPqH0o!z!&3gFeUR6V-lTtPTCg3hVv5YFmVLgTM7GvB}Y^MSak|zJam%(xzT5eY5aOY;`swe*HLZ(fsgP zVb@JGzzn^d5%ug>qA#hZKFyMeYv6YgI%`Xc!9`8gHq#5NR%lBTC`zi*!hR2|i-MNW zSm>_6N1pm{4~A!+ojQe&`uypvNhF}YahdM>C`?3CuD+DJQZi{ougFN)&vafkpQHf&PW7{aqTD6d<67Qy96MNhK#=S={au6im*;elo9WIN-Ws^SpQx8*jzcJ6(fxML zHOoU+|1@rjxz;?0$oP&gGE_+g`2CbohI%or5mDl0hs$yR__RdMENuL$QFLiK)~#UAQMi_t4aakT`Z%{qEQmFirWdfY3$lDai|2 zH~U|A4trMI6=P^f-xJJcOjWBKn~Cfn8}7@Tk8>PMo)bn9@jFUSc#EQ*BLDJ4r{%C!kge=90E|*X**9|Jiw(8*iKLb+K36vL)_UJvF}m`w4iv@*J;75U>H@UE)01o$3H~WtfDFs%EVe zt~~dj4B9gihi7@|i3FaD((%43=440(3=}52K8@>_SAo$i2R#dOK*ir|?Pf{BJgUX; z``MLQInbQr7t0A#GubYy?)|~jc8s1~p-pyE zukEgrX_Q~Jzu*%O55coq+ma&wAoWnavYHq73EeBgP{;Qih`Fg{{!Hf6Or=+UC~l_o zAmc)}lci$0dbC-~UGdeh+oUfC%I|OjZ5<2w4`0*?z>0(DqwhTy!Tte2@kVN3YPmk>S}uzM>|o~W*E z=@nI`UCwa}BzM$38&uEw2b_FfIf%FkBZCtvLd~vk>{}{;*i%zui&PS0+dcAU!j$-& z`ic~0CV%VDF0x<*N=w_&-cdFm5xx+^mYR4v!d?B2T$Ozu5p92%E&Y!_Q?N_cByTk< zz&=5+9x5vwW%qWsvT8QJz5vz2{Rl5`{ICcpBs{8^4a>6>>i2$hHE`r9XFS7(b-+oR z;QV?E_PL_^gyT2CHB!Osxb^G|2m|FU1xWf|YU2!&{M?)Kn(R6bpJxx6Pvr&*elZcG_g)iT=*X4W@ zmPPa2X@S`7G&Yq3j*m_VLc@l^BI;tCl7=2O^$Dz_RWeDsp#d#z`a)Y6~}|1iSV16uPx@p~2xOF$@LIG)5r`Eav42kR!CMnE( zv`yhAt>(3nmL}83rTO2f+By^$URURZ8SE-DH0L`aQjZR)p=#M(`7uzOy}3Uwg$Pu> z(Q8FP6%I%bAJfe{1X5C=)ug!6f)9MVX?l!i^sw~%m>-0Y26d^GY%A81C0=>FbFvp} zK_qG{_s16?CRjxdt6XWkCF19hp`Ciq(tA;H!=Wp*{u0WF8t5ytv)E_lTl*lPseY#R zzA*=}2Fn*2`nK!Jq29Dnpu|=$xbkayoX|lK&UWy0BF|@>Gu@jXeYl&)|AvmcjC%>K zuE-63Z1P21V6IS+j{K2o??E5iAf*~!;@x3W+Y6clx;McuP0o+06uJS?4zGmJOp}TH zNyH3W=gRrt{G^EFL27+Y$Z_}3v=1(>CRd6b$E%hcP~ydQ;0X6qLx-I9sX$$5>CkoOwys=mF(m;ihxiwFFSjbs zb5Dmh93Fh*sIBCuM{K&H>RubA&!_7)CbT%m-8Le32tbzi2j!E2s%AL@3fi-SP1=Ld#Ab@uVC*(Y=;=Jf)970JmVZ@_!JX(-=yY4Ta0nY#`H{^ zZ+{)S&X@D1wvF$AarDzQ``$oQ{Qjn68-rh>MWWuO5;3kl-xuRYduPfocUl(JgANk>*_QnnymJ1ayc8N7tR z?Yk)vEA08PLDx{|yFL}D*Fq;)4tq>Pi_T)K`3ULJHfEa+ivrpf9N~VXqqw4X;zzTu ze|FE0RBz!XAD&LDnFFNh?$GcVuZ`k_+WOej%upr!9mCeK+6VDJRVTm8yuqPNkCdo+ zj8qdu*9-!F34Nn+&9QSm3QXsL`51lydN!p$+Ss7fc+u9pk z$nCwsMc-ckd4c}g+F*2z`x?gjnb(O;4_~?lMR6QIKHVJ=f6yo@p$s*G{;)meIp@|B zvyM8^&>@-pLj9&qi{W?atkhu$K$6^hN+f z445(5+%JW_2)n&c?#AH?Oe6eQOz@&Ih{7f4DJ^zdXSw60EO8rKzr-n+nRIB@`AFj3 z5+sSeD+Z(1HS%L|Qr@X+EevFBfKR?W#4OoT18dwMF*?tp|l3J)0=IeZ9u(w57C+EEMD z=s0RLlb!!vkEyI-MO%!pQ~M`>6ILyfg>$wSK4=BDFi?GAkKu$k2| zLXoW&bQ3Q@p(HaB#dAMS*Tfy9yeX zfz4h8ULJW(K_I=?D8|h{wR^Xg#c$XbXptHVs!S8P0(3I5H6OxSask#oOnTf6{pGv> zUT>!uATB=+YsC<=DMZO_5$y6da?memLD?NsLk;nLizl*wsc}ux`{7t)9%dv?Mlkzq z7^6AVG_`d+n^2*w7tH-j-6D0TdF9tiOQg%n zeapz%?2j=bOra_DoPzCjIW^COAX*%vwK}B;63v*Jw$;E4yH?xF++;h`Tdt0J8hpo$ zRcFy5Pt8CWF0DY&^WuI2fwS~q@^Y$S?|<)*@Y~3Om1mu!^xaC*g9&j@@Sx2L+_IP{ zFa-q2n*kf%=5DIcb|O4wX(tz0fB3nEm*Z1jUt8M!@M}ht6af;A3w*Re`5t#1(LWr2 zdL9}>TbVL!f(;ma>|-o*o@T1=03&l70?ZuDY)n;O5TPEyap#64QQTtgSoL?_efzp~ z$%DU4vXCwWsYA1wk2F-S^`*<-;-GHp(RizJ>c~Ab5J%_}ekJhqaTP#8hLM&R=^=hq z)Z%&VnueTM;^>YT>IZQDsoa^P=fiJqa%@dFn7LqXTQqC6(#kkll=3eVc2T(_Zq(EV z80Z};!TPzi8<@XsH|dUUxU3UC!qJTOmA^MzGF)WN`0_w~Q}B6h1zE|>Ktj{(Qo<>4 zWCRU>dAvS-(L4}kiLuUdYZ4<{2|yFS{toc9C0BB<;e{ouy-1b}qOjy+Cwxho)T8J!f%~{hZua z)?Wpwsf_qf5>{Zccngx0E5yw?2W?6%zZhtblR_Mfe~Ppd^uuFi!NuuHa+WG_hInN3 zB%3ERb7+J^eFolrR~X6a?&>fg_T2#GRR_5r2)H z(&y;LNzE!@M^(gPo%-nIc<# zev~%b?0rzxOs7Qcsd<|y=#3&v5UFv;FOOyeDX^!)dO1ZzamreAqvM@H`7Ua!k_M`8 z<4IBqa#^*{B*kwDmBR!9ov0rB=-i;d><^t%9|f98NRp?bk197Kx$b zN0!%LBoYX`R%+|J*`L25g$wn*TkF1)Fz*1^STT;L7d0zs-THeZqX5hJ9+e8qu&*Cy zD{akYvfG1=D*hx$Id<93$C}*9B>-^Z%j`d4sJiA?lq3pz0Ll%pmiuqxC4i|!1i_WZ z9V=Qd{S}IVbZ@oj!&qVPZg6+S41FtOZtJpvxs!x7qdx#?R898)pl5)z2EbL;nD&sE z43^U`2Zor=uHEdDJg;3=ffOCzXTWvrCn~=>u%z7;X2p?fZ5>-LQp~(@rpp z@WeZR_>O8-tZL+5{I50ti>4;b|J}F)+xPbd4DwXbtXY8Fo=fT+%;%j`!NnfH5n=CD zpJ2JMuZ$4`6D=ie(<2~vcr_vR6K90z`rrJSVk*-_pn7m=JP3%9NtelVur?D;MC0UA zxUp>PH$g=dDn&F$$+n=M-z_?l_11E%0`sz+Nc$^ETHl4`@E6b0d>bRzw4yl4L!_E*pz8GtM8ps1IBU$6A!ef-ZZtL*(d z%KDm=M71vQ@g_6A4*9>5%YUP8OkXKL-Dm+pWUp@Y58i+p<+vqB*dEJwD++k>KWW8( z+YG+!yUdhV@bw$edG|k+E4IIV=5tkv;crl{KL=jeWpWB_wg2?F@7g}#13PPJj5l-% F{Rg52Y=-~< diff --git a/docs/managed-datahub/saas-slack-setup.md b/docs/managed-datahub/saas-slack-setup.md index 430f926c08daae..68f947f1717158 100644 --- a/docs/managed-datahub/saas-slack-setup.md +++ b/docs/managed-datahub/saas-slack-setup.md @@ -41,7 +41,7 @@ settings: Confirm you see the Basic Information Tab -![](../imgs/slack/slack_basic_info.png) +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_basic_info.png) - Click **Install to Workspace** - It will show you permissions the Slack App is asking for, what they mean and a default channel in which you want to add the slack app @@ -54,7 +54,7 @@ Confirm you see the Basic Information Tab - Go to **OAuth & Permissions** Tab -![](../imgs/slack/slack_oauth_and_permissions.png) +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_oauth_and_permissions.png) Here you'll find a “Bot User OAuth Token” which DataHub will need to communicate with your slack through the bot. In the next steps, we'll show you how to configure the Slack Integration inside of Acryl DataHub. @@ -71,13 +71,13 @@ To enable the integration with slack - Enter a **Default Slack Channel** - this is where all notifications will be routed unless - Click **Update** to save your settings -![](../imgs/slack/slack_add_token.png) +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_add_token.png) To enable and disable specific types of notifications, or configure custom routing for notifications, start by navigating to **Settings > Notifications**. To enable or disable a specific notification type in Slack, simply click the check mark. By default, all notification types are enabled. To customize the channel where notifications are send, click the button to the right of the check box. -![](../imgs/slack/slack_channel.png) +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_channel.png) If provided, a custom channel will be used to route notifications of the given type. If not provided, the default channel will be used. That's it! You should begin to receive notifications on Slack. Note that it may take up to 1 minute for notification settings to take effect after saving. @@ -94,7 +94,7 @@ For now we support sending notifications to - Go to the Slack channel for which you want to get channel ID - Check the URL e.g. for the troubleshoot channel in OSS DataHub slack -![](../imgs/slack/slack_channel_url.png) +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_channel_url.png) - Notice `TUMKD5EGJ/C029A3M079U` in the URL - Team ID = `TUMKD5EGJ` from above @@ -108,4 +108,4 @@ For now we support sending notifications to - Click on “More” - Click on “Copy member ID” -![](../imgs/slack/slack_user_id.png) +![](https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/integrations/slack/slack_user_id.png) From 2de9d3d5bf4acf40774a5d86a9210cc57fe61b96 Mon Sep 17 00:00:00 2001 From: david-leifker <114954101+david-leifker@users.noreply.github.com> Date: Sun, 4 Dec 2022 21:57:47 -0600 Subject: [PATCH 14/18] fix(logging): Remove lombok as source of slf4j-api, convert to compileOnly where possible (#6616) --- build.gradle | 15 +++++++++------ datahub-frontend/play.gradle | 3 ++- datahub-graphql-core/build.gradle | 1 + datahub-ranger-plugin/build.gradle | 2 +- datahub-upgrade/build.gradle | 3 ++- entity-registry/build.gradle | 3 ++- ingestion-scheduler/build.gradle | 4 ++-- li-utils/build.gradle | 1 + metadata-dao-impl/kafka-producer/build.gradle | 1 + metadata-ingestion/setup.py | 2 +- .../java/datahub-client/build.gradle | 3 ++- .../java/datahub-protobuf/build.gradle | 1 + .../java/spark-lineage/build.gradle | 2 ++ metadata-io/build.gradle | 2 ++ metadata-jobs/mae-consumer/build.gradle | 1 + metadata-jobs/mce-consumer/build.gradle | 1 + metadata-jobs/pe-consumer/build.gradle | 1 + metadata-models-validator/build.gradle | 2 ++ metadata-service/auth-api/build.gradle | 3 ++- metadata-service/auth-filter/build.gradle | 3 ++- metadata-service/auth-impl/build.gradle | 3 ++- metadata-service/auth-ranger-impl/build.gradle | 3 ++- metadata-service/auth-servlet-impl/build.gradle | 3 ++- metadata-service/factories/build.gradle | 3 ++- .../graphql-servlet-impl/build.gradle | 3 ++- metadata-service/openapi-servlet/build.gradle | 6 ++++-- metadata-service/restli-client/build.gradle | 3 ++- metadata-service/restli-servlet-impl/build.gradle | 3 ++- metadata-service/war/build.gradle | 8 ++++---- metadata-utils/build.gradle | 1 + 30 files changed, 61 insertions(+), 29 deletions(-) diff --git a/build.gradle b/build.gradle index b57419e285a38c..9bdb10f0ff9aed 100644 --- a/build.gradle +++ b/build.gradle @@ -10,6 +10,10 @@ buildscript { ext.testContainersVersion = '1.17.4' ext.jacksonVersion = '2.13.4' ext.jettyVersion = '9.4.46.v20220331' + ext.log4jVersion = '2.19.0' + ext.slf4jVersion = '1.7.32' + ext.logbackClassic = '1.2.11' + apply from: './repositories.gradle' buildscript.repositories.addAll(project.repositories) dependencies { @@ -112,9 +116,11 @@ project.ext.externalDependency = [ 'kafkaAvroSerde': 'io.confluent:kafka-streams-avro-serde:5.5.1', 'kafkaAvroSerializer': 'io.confluent:kafka-avro-serializer:5.1.4', 'kafkaClients': 'org.apache.kafka:kafka-clients:2.3.0', - 'logbackClassic': 'ch.qos.logback:logback-classic:1.2.9', - 'log4jCore': 'org.apache.logging.log4j:log4j-core:2.19.0', - 'log4jApi': 'org.apache.logging.log4j:log4j-api:2.19.0', + 'logbackClassic': "ch.qos.logback:logback-classic:$logbackClassic", + 'slf4jApi': "org.slf4j:slf4j-api:$slf4jVersion", + 'log4jCore': "org.apache.logging.log4j:log4j-core:$log4jVersion", + 'log4jApi': "org.apache.logging.log4j:log4j-api:$log4jVersion", + 'log4j12Api': "org.slf4j:log4j-over-slf4j:$slf4jVersion", 'lombok': 'org.projectlombok:lombok:1.18.12', 'mariadbConnector': 'org.mariadb.jdbc:mariadb-java-client:2.6.0', 'mavenArtifact': "org.apache.maven:maven-artifact:$mavenVersion", @@ -193,15 +199,12 @@ configure(subprojects.findAll {! it.name.startsWith('spark-lineage') }) { exclude group: "io.netty", module: "netty" exclude group: "log4j", module: "log4j" exclude group: "org.springframework.boot", module: "spring-boot-starter-logging" - exclude group: "ch.qos.logback", module: "logback-classic" exclude group: "org.apache.logging.log4j", module: "log4j-to-slf4j" exclude group: "com.vaadin.external.google", module: "android-json" exclude group: "org.slf4j", module: "slf4j-reload4j" exclude group: "org.slf4j", module: "slf4j-log4j12" exclude group: "org.slf4j", module: "slf4j-nop" exclude group: "org.slf4j", module: "slf4j-ext" - exclude group: "org.slf4j", module: "jul-to-slf4j" - exclude group: "org.slf4j", module: "jcl-over-toslf4j" } } diff --git a/datahub-frontend/play.gradle b/datahub-frontend/play.gradle index 579449e9e39b16..f6ecd57534dfa6 100644 --- a/datahub-frontend/play.gradle +++ b/datahub-frontend/play.gradle @@ -55,13 +55,14 @@ dependencies { testImplementation externalDependency.playTest testCompile externalDependency.testng + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok runtime externalDependency.guice runtime (externalDependency.playDocs) { exclude group: 'com.typesafe.akka', module: 'akka-http-core_2.12' } runtime externalDependency.playGuice - runtime externalDependency.logbackClassic + implementation externalDependency.logbackClassic annotationProcessor externalDependency.lombok } diff --git a/datahub-graphql-core/build.gradle b/datahub-graphql-core/build.gradle index aa13ce05d7d59e..528054833bb9aa 100644 --- a/datahub-graphql-core/build.gradle +++ b/datahub-graphql-core/build.gradle @@ -15,6 +15,7 @@ dependencies { compile externalDependency.antlr4 compile externalDependency.guava + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/datahub-ranger-plugin/build.gradle b/datahub-ranger-plugin/build.gradle index b3277a664af22f..a08d3f2b1e4c9c 100644 --- a/datahub-ranger-plugin/build.gradle +++ b/datahub-ranger-plugin/build.gradle @@ -28,7 +28,7 @@ dependencies { exclude group: "org.apache.htrace", module: "htrace-core4" } implementation externalDependency.hadoopCommon3 - implementation externalDependency.log4jApi + implementation externalDependency.log4j12Api constraints { implementation(externalDependency.woodstoxCore) { diff --git a/datahub-upgrade/build.gradle b/datahub-upgrade/build.gradle index 49872fa111d514..4d4d2b99390bcf 100644 --- a/datahub-upgrade/build.gradle +++ b/datahub-upgrade/build.gradle @@ -14,7 +14,8 @@ dependencies { exclude group: 'com.nimbusds', module: 'nimbus-jose-jwt' exclude group: "org.apache.htrace", module: "htrace-core4" } - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok compile externalDependency.picocli compile externalDependency.parquet compile externalDependency.springBeans diff --git a/entity-registry/build.gradle b/entity-registry/build.gradle index 3594e0440f63d4..af742d240d1e6b 100644 --- a/entity-registry/build.gradle +++ b/entity-registry/build.gradle @@ -4,7 +4,8 @@ dependencies { compile spec.product.pegasus.data compile spec.product.pegasus.generator compile project(path: ':metadata-models') - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok compile externalDependency.guava compile externalDependency.jacksonDataBind compile externalDependency.jacksonDataFormatYaml diff --git a/ingestion-scheduler/build.gradle b/ingestion-scheduler/build.gradle index 7023ce1208b513..3dec8ee400150a 100644 --- a/ingestion-scheduler/build.gradle +++ b/ingestion-scheduler/build.gradle @@ -4,12 +4,12 @@ dependencies { compile project(path: ':metadata-models') compile project(path: ':metadata-io') compile project(path: ':metadata-service:restli-client') - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok testCompile externalDependency.mockito testCompile externalDependency.testng - testAnnotationProcessor externalDependency.lombok constraints { implementation(externalDependency.log4jCore) { diff --git a/li-utils/build.gradle b/li-utils/build.gradle index 6a6971589ae8b0..d11cd86659605c 100644 --- a/li-utils/build.gradle +++ b/li-utils/build.gradle @@ -20,6 +20,7 @@ dependencies { } compile externalDependency.guava + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/metadata-dao-impl/kafka-producer/build.gradle b/metadata-dao-impl/kafka-producer/build.gradle index 18b129297f19f6..5b40eb5f322321 100644 --- a/metadata-dao-impl/kafka-producer/build.gradle +++ b/metadata-dao-impl/kafka-producer/build.gradle @@ -9,6 +9,7 @@ dependencies { compile externalDependency.kafkaClients + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/metadata-ingestion/setup.py b/metadata-ingestion/setup.py index 0fded9e7cedc2c..5547914236de69 100644 --- a/metadata-ingestion/setup.py +++ b/metadata-ingestion/setup.py @@ -221,7 +221,7 @@ def get_long_description(): delta_lake = { *s3_base, - "deltalake>=0.6.3", + "deltalake>=0.6.3, != 0.6.4", } powerbi_report_server = {"requests", "requests_ntlm"} diff --git a/metadata-integration/java/datahub-client/build.gradle b/metadata-integration/java/datahub-client/build.gradle index a8afb1afc10a9d..ca97472db7d0b9 100644 --- a/metadata-integration/java/datahub-client/build.gradle +++ b/metadata-integration/java/datahub-client/build.gradle @@ -42,7 +42,8 @@ dependencies { implementation(externalDependency.kafkaAvroSerializer) { exclude group: "org.apache.avro" } - + + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok testCompile externalDependency.mockito diff --git a/metadata-integration/java/datahub-protobuf/build.gradle b/metadata-integration/java/datahub-protobuf/build.gradle index bbd18805292a66..7f3616840b9d8d 100644 --- a/metadata-integration/java/datahub-protobuf/build.gradle +++ b/metadata-integration/java/datahub-protobuf/build.gradle @@ -35,6 +35,7 @@ dependencies { implementation externalDependency.gson implementation externalDependency.commonsCli + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok testImplementation externalDependency.junitJupiterApi diff --git a/metadata-integration/java/spark-lineage/build.gradle b/metadata-integration/java/spark-lineage/build.gradle index ee4f02438d8f63..3b69772af635bc 100644 --- a/metadata-integration/java/spark-lineage/build.gradle +++ b/metadata-integration/java/spark-lineage/build.gradle @@ -47,6 +47,7 @@ dependencies { force = true } // required for org.apache.commons.io.Charsets that is used internally + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok @@ -109,6 +110,7 @@ shadowJar { exclude('module-info.class', 'META-INF/versions/**') relocate 'com.fasterxml.jackson', 'datahub.shaded.jackson' + relocate 'org.slf4j','datahub.shaded.org.slf4j' relocate 'org.apache.http','datahub.spark2.shaded.http' relocate 'org.apache.commons.codec', 'datahub.spark2.shaded.o.a.c.codec' relocate 'org.apache.commons.compress', 'datahub.spark2.shaded.o.a.c.compress' diff --git a/metadata-io/build.gradle b/metadata-io/build.gradle index 0ebee676567521..f8c27ad93bf974 100644 --- a/metadata-io/build.gradle +++ b/metadata-io/build.gradle @@ -19,6 +19,8 @@ dependencies { compile spec.product.pegasus.generator compile externalDependency.dgraph4j exclude group: 'com.google.guava', module: 'guava' + implementation externalDependency.slf4jApi + runtime externalDependency.logbackClassic compileOnly externalDependency.lombok implementation externalDependency.commonsCollections compile externalDependency.datastaxOssNativeProtocol diff --git a/metadata-jobs/mae-consumer/build.gradle b/metadata-jobs/mae-consumer/build.gradle index 19540b2a4cffcf..610fddde3c2b82 100644 --- a/metadata-jobs/mae-consumer/build.gradle +++ b/metadata-jobs/mae-consumer/build.gradle @@ -33,6 +33,7 @@ dependencies { compile externalDependency.springKafka compile externalDependency.springActuator + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/metadata-jobs/mce-consumer/build.gradle b/metadata-jobs/mce-consumer/build.gradle index 7423bb3c3807e8..730cd56d47bc56 100644 --- a/metadata-jobs/mce-consumer/build.gradle +++ b/metadata-jobs/mce-consumer/build.gradle @@ -30,6 +30,7 @@ dependencies { compile externalDependency.springKafka compile externalDependency.springActuator + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/metadata-jobs/pe-consumer/build.gradle b/metadata-jobs/pe-consumer/build.gradle index ff4f1e577a9934..38b451fafc2f9e 100644 --- a/metadata-jobs/pe-consumer/build.gradle +++ b/metadata-jobs/pe-consumer/build.gradle @@ -18,6 +18,7 @@ dependencies { } compile externalDependency.springKafka compile externalDependency.springActuator + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok runtime externalDependency.logbackClassic diff --git a/metadata-models-validator/build.gradle b/metadata-models-validator/build.gradle index 9a34255513d8a9..bd1ec9449fb194 100644 --- a/metadata-models-validator/build.gradle +++ b/metadata-models-validator/build.gradle @@ -9,5 +9,7 @@ dependencies { compile externalDependency.findbugsAnnotations compile externalDependency.guava + implementation externalDependency.slf4jApi + runtimeOnly externalDependency.logbackClassic compileOnly externalDependency.lombok } \ No newline at end of file diff --git a/metadata-service/auth-api/build.gradle b/metadata-service/auth-api/build.gradle index e0c563eb79cfde..74d55abd18ba74 100644 --- a/metadata-service/auth-api/build.gradle +++ b/metadata-service/auth-api/build.gradle @@ -3,6 +3,7 @@ apply plugin: 'java' dependencies { compile project(path: ':metadata-models') compile externalDependency.guava - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok } \ No newline at end of file diff --git a/metadata-service/auth-filter/build.gradle b/metadata-service/auth-filter/build.gradle index d76297e71a7838..8de29b75e35a61 100644 --- a/metadata-service/auth-filter/build.gradle +++ b/metadata-service/auth-filter/build.gradle @@ -5,7 +5,8 @@ dependencies { compile project(path: ':metadata-service:factories') compile externalDependency.servletApi - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok compile externalDependency.springWeb annotationProcessor externalDependency.lombok diff --git a/metadata-service/auth-impl/build.gradle b/metadata-service/auth-impl/build.gradle index 76b18f314ede17..5116c668c7d903 100644 --- a/metadata-service/auth-impl/build.gradle +++ b/metadata-service/auth-impl/build.gradle @@ -14,7 +14,8 @@ dependencies { runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.11.2', 'io.jsonwebtoken:jjwt-jackson:0.11.2' - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok diff --git a/metadata-service/auth-ranger-impl/build.gradle b/metadata-service/auth-ranger-impl/build.gradle index 8d13106bc6657d..da4946d3edb2e3 100644 --- a/metadata-service/auth-ranger-impl/build.gradle +++ b/metadata-service/auth-ranger-impl/build.gradle @@ -28,7 +28,8 @@ dependencies { implementation 'org.apache.logging.log4j:log4j-1.2-api:2.17.1' implementation 'rome:rome:1.0' runtimeOnly externalDependency.jna - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok testCompile externalDependency.mockito diff --git a/metadata-service/auth-servlet-impl/build.gradle b/metadata-service/auth-servlet-impl/build.gradle index 9ffaa4f6879174..bb258a800b00e9 100644 --- a/metadata-service/auth-servlet-impl/build.gradle +++ b/metadata-service/auth-servlet-impl/build.gradle @@ -10,7 +10,8 @@ dependencies { compile externalDependency.graphqlJava compile externalDependency.springBeans compile externalDependency.springContext - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok } diff --git a/metadata-service/factories/build.gradle b/metadata-service/factories/build.gradle index 1a82f4d52f210f..bfb7a62ccbb613 100644 --- a/metadata-service/factories/build.gradle +++ b/metadata-service/factories/build.gradle @@ -15,7 +15,7 @@ dependencies { compile externalDependency.gson compile externalDependency.kafkaClients compile externalDependency.kafkaAvroSerde - compile externalDependency.lombok + compileOnly externalDependency.lombok compile externalDependency.servletApi compile externalDependency.springBeans compile externalDependency.springBootAutoconfigure @@ -31,6 +31,7 @@ dependencies { compile spec.product.pegasus.restliSpringBridge testImplementation externalDependency.springBootTest + testCompile externalDependency.mockito testCompile externalDependency.testng diff --git a/metadata-service/graphql-servlet-impl/build.gradle b/metadata-service/graphql-servlet-impl/build.gradle index 041b484836b981..7c365bcdac26ef 100644 --- a/metadata-service/graphql-servlet-impl/build.gradle +++ b/metadata-service/graphql-servlet-impl/build.gradle @@ -11,7 +11,8 @@ dependencies { compile externalDependency.graphqlJava compile externalDependency.springBeans compile externalDependency.springContext - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok } diff --git a/metadata-service/openapi-servlet/build.gradle b/metadata-service/openapi-servlet/build.gradle index 08f019bed70fb2..3b947fee082727 100644 --- a/metadata-service/openapi-servlet/build.gradle +++ b/metadata-service/openapi-servlet/build.gradle @@ -13,8 +13,10 @@ dependencies { compile externalDependency.springWebMVC compile externalDependency.springBeans compile externalDependency.springContext - compile externalDependency.lombok - compile externalDependency.antlr4 + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok + implementation externalDependency.antlr4Runtime + implementation externalDependency.antlr4 annotationProcessor externalDependency.lombok diff --git a/metadata-service/restli-client/build.gradle b/metadata-service/restli-client/build.gradle index 8f25cf7294bbac..7cc643a626c06c 100644 --- a/metadata-service/restli-client/build.gradle +++ b/metadata-service/restli-client/build.gradle @@ -7,7 +7,8 @@ dependencies { compile project(':metadata-events:mxe-schemas') compile project(':metadata-utils') - compile externalDependency.lombok + implementation externalDependency.slf4jApi + compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok compile spec.product.pegasus.restliClient diff --git a/metadata-service/restli-servlet-impl/build.gradle b/metadata-service/restli-servlet-impl/build.gradle index 5e95bc6c6450cd..08d3a1c2e30920 100644 --- a/metadata-service/restli-servlet-impl/build.gradle +++ b/metadata-service/restli-servlet-impl/build.gradle @@ -40,6 +40,8 @@ dependencies { compile project(':metadata-utils') compile project(':metadata-io') compile spec.product.pegasus.restliServer + implementation externalDependency.slf4jApi + // This is compile and not compileOnly because of restli compile externalDependency.lombok compile externalDependency.neo4jJavaDriver compile externalDependency.opentelemetryAnnotations @@ -61,7 +63,6 @@ dependencies { modelValidation project(path: ':metadata-models-validator') dataModel project(path: ':metadata-models', configuration: 'dataTemplate') dataModel project(path: ':li-utils', configuration: 'dataTemplate') - } task integrationTest(type: Test) { diff --git a/metadata-service/war/build.gradle b/metadata-service/war/build.gradle index 3a3fdcb66e6116..cdb2b67b423734 100644 --- a/metadata-service/war/build.gradle +++ b/metadata-service/war/build.gradle @@ -13,9 +13,9 @@ dependencies { runtime project(':metadata-jobs:mae-consumer') runtime project(':metadata-jobs:pe-consumer') + runtime externalDependency.logbackClassic runtime externalDependency.awsSecretsManagerJdbc runtime externalDependency.h2 - runtime externalDependency.logbackClassic runtime externalDependency.mariadbConnector runtime externalDependency.mysqlConnector runtime externalDependency.postgresql @@ -28,15 +28,15 @@ dependencies { } configurations { - jetty8 + jetty9 } dependencies { - jetty8 "org.eclipse.jetty:jetty-runner:9.4.46.v20220331" + jetty9 "org.eclipse.jetty:jetty-runner:9.4.46.v20220331" } task run(type: JavaExec, dependsOn: build) { main = "org.eclipse.jetty.runner.Runner" args = [war.archivePath] - classpath configurations.jetty8 + classpath configurations.jetty9 } diff --git a/metadata-utils/build.gradle b/metadata-utils/build.gradle index cb6593a1e581c3..3ab83a97d27dff 100644 --- a/metadata-utils/build.gradle +++ b/metadata-utils/build.gradle @@ -18,6 +18,7 @@ dependencies { compile project(':metadata-events:mxe-avro-1.7') compile project(':metadata-events:mxe-utils-avro-1.7') + implementation externalDependency.slf4jApi compileOnly externalDependency.lombok annotationProcessor externalDependency.lombok From ed9110ea440605dc4c313675afcc9af008af2fd2 Mon Sep 17 00:00:00 2001 From: Shirshanka Das Date: Sun, 4 Dec 2022 23:21:38 -0800 Subject: [PATCH 15/18] docs: add links from main README to slack, teams actions (#6633) --- docs/actions/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/actions/README.md b/docs/actions/README.md index fa0c6cb4b71efe..23596ec67514e5 100644 --- a/docs/actions/README.md +++ b/docs/actions/README.md @@ -203,6 +203,8 @@ Some pre-included Actions include - [Hello World](actions/hello_world.md) - [Executor](actions/executor.md) +- [Slack](actions/slack.md) +- [Microsoft Teams](actions/teams.md) ## Development From fdcb731e293f3417acee5ca3aacf34571a3ceb0d Mon Sep 17 00:00:00 2001 From: Mayuri Nehate <33225191+mayurinehate@users.noreply.github.com> Date: Mon, 5 Dec 2022 19:09:08 +0530 Subject: [PATCH 16/18] feat(ingest): snowflake - config variable for specifying a direct private key (#6609) --- .../ingestion/source_config/sql/snowflake.py | 45 ++++++++++++------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py b/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py index 46a40cb9902c43..f5d2b441cb8629 100644 --- a/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py +++ b/metadata-ingestion/src/datahub/ingestion/source_config/sql/snowflake.py @@ -105,15 +105,21 @@ class BaseSnowflakeConfig(BaseTimeWindowConfig): password: Optional[pydantic.SecretStr] = pydantic.Field( default=None, exclude=True, description="Snowflake password." ) + private_key: Optional[str] = pydantic.Field( + default=None, + description="Private key in a form of '-----BEGIN PRIVATE KEY-----\\nprivate-key\\n-----END PRIVATE KEY-----\\n' if using key pair authentication. Encrypted version of private key will be in a form of '-----BEGIN ENCRYPTED PRIVATE KEY-----\\nencrypted-private-key\\n-----END ECNCRYPTED PRIVATE KEY-----\\n' See: https://docs.snowflake.com/en/user-guide/key-pair-auth.html", + ) + private_key_path: Optional[str] = pydantic.Field( default=None, - description="The path to the private key if using key pair authentication. See: https://docs.snowflake.com/en/user-guide/key-pair-auth.html", + description="The path to the private key if using key pair authentication. Ignored if `private_key` is set. See: https://docs.snowflake.com/en/user-guide/key-pair-auth.html", ) private_key_password: Optional[pydantic.SecretStr] = pydantic.Field( default=None, exclude=True, - description="Password for your private key if using key pair authentication.", + description="Password for your private key. Required if using key pair authentication with encrypted private key.", ) + oauth_config: Optional[OauthConfiguration] = pydantic.Field( default=None, description="oauth configuration - https://docs.snowflake.com/en/user-guide/python-connector-example.html#connecting-with-oauth", @@ -182,10 +188,13 @@ def authenticator_type_is_valid(cls, v, values, field): ) if v == "KEY_PAIR_AUTHENTICATOR": # If we are using key pair auth, we need the private key path and password to be set - if values.get("private_key_path") is None: + if ( + values.get("private_key") is None + and values.get("private_key_path") is None + ): raise ValueError( - f"'private_key_path' was none " - f"but should be set when using {v} authentication" + f"Both `private_key` and `private_key_path` are none. " + f"At least one should be set when using {v} authentication" ) elif v == "OAUTH_AUTHENTICATOR": if values.get("oauth_config") is None: @@ -275,16 +284,22 @@ def get_sql_alchemy_connect_args(self) -> dict: if self.authentication_type != "KEY_PAIR_AUTHENTICATOR": return {} if self.connect_args is None: - if self.private_key_path is None: - raise ValueError("missing required private key path to read key from") - if self.private_key_password is None: - raise ValueError("missing required private key password") - with open(self.private_key_path, "rb") as key: - p_key = serialization.load_pem_private_key( - key.read(), - password=self.private_key_password.get_secret_value().encode(), - backend=default_backend(), - ) + if self.private_key is not None: + pkey_bytes = self.private_key.replace("\\n", "\n").encode() + else: + assert ( + self.private_key_path + ), "missing required private key path to read key from" + with open(self.private_key_path, "rb") as key: + pkey_bytes = key.read() + + p_key = serialization.load_pem_private_key( + pkey_bytes, + password=self.private_key_password.get_secret_value().encode() + if self.private_key_password is not None + else None, + backend=default_backend(), + ) pkb = p_key.private_bytes( encoding=serialization.Encoding.DER, From ffea9302d90b869cef71f7743236941901f4fe4c Mon Sep 17 00:00:00 2001 From: syedzoherer Date: Mon, 5 Dec 2022 14:07:26 -0500 Subject: [PATCH 17/18] Add AWS Postgres Iam Auth jar to GMS (#6371) * Add AWS Postgres Iam Auth jar to GMS * Added IAM support for Postgres * Setting IAM support for Postgres as false by default * format fix Co-authored-by: syed.javed --- build.gradle | 2 ++ docker/datahub-gms/env/docker.postgres.env | 3 +++ metadata-service/factories/build.gradle | 3 ++- .../factory/common/LocalEbeanServerConfigFactory.java | 11 +++++++++++ .../factories/src/main/resources/application.yml | 1 + 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9bdb10f0ff9aed..044699c58e8544 100644 --- a/build.gradle +++ b/build.gradle @@ -59,6 +59,8 @@ project.ext.externalDependency = [ 'awsGlueSchemaRegistrySerde': 'software.amazon.glue:schema-registry-serde:1.1.10', 'awsMskIamAuth': 'software.amazon.msk:aws-msk-iam-auth:1.1.1', 'awsSecretsManagerJdbc': 'com.amazonaws.secretsmanager:aws-secretsmanager-jdbc:1.0.8', + 'awsPostgresIamAuth': 'software.amazon.jdbc:aws-advanced-jdbc-wrapper:1.0.0', + 'awsRds':'software.amazon.awssdk:rds:2.18.24', 'cacheApi' : 'javax.cache:cache-api:1.1.0', 'commonsCli': 'commons-cli:commons-cli:1.5.0', 'commonsIo': 'commons-io:commons-io:2.4', diff --git a/docker/datahub-gms/env/docker.postgres.env b/docker/datahub-gms/env/docker.postgres.env index 0f4f78dccb77b8..f99134ebb02388 100644 --- a/docker/datahub-gms/env/docker.postgres.env +++ b/docker/datahub-gms/env/docker.postgres.env @@ -3,6 +3,9 @@ EBEAN_DATASOURCE_PASSWORD=datahub EBEAN_DATASOURCE_HOST=postgres:5432 EBEAN_DATASOURCE_URL=jdbc:postgresql://postgres:5432/datahub EBEAN_DATASOURCE_DRIVER=org.postgresql.Driver +# Uncomment EBEAN_POSTGRES_USE_AWS_IAM_AUTH below to add support for IAM authentication for Postgres. +# Password is not required when accessing Postgres using IAM auth. It can be replaced by dummy password +# EBEAN_POSTGRES_USE_AWS_IAM_AUTH=true KAFKA_BOOTSTRAP_SERVER=broker:29092 KAFKA_SCHEMAREGISTRY_URL=http://schema-registry:8081 ELASTICSEARCH_HOST=elasticsearch diff --git a/metadata-service/factories/build.gradle b/metadata-service/factories/build.gradle index bfb7a62ccbb613..7068f530d8e0bb 100644 --- a/metadata-service/factories/build.gradle +++ b/metadata-service/factories/build.gradle @@ -25,7 +25,8 @@ dependencies { compile externalDependency.springKafka compile externalDependency.springWeb compile project(':metadata-service:auth-ranger-impl') - + implementation externalDependency.awsPostgresIamAuth + implementation externalDependency.awsRds annotationProcessor externalDependency.lombok compile spec.product.pegasus.restliSpringBridge diff --git a/metadata-service/factories/src/main/java/com/linkedin/gms/factory/common/LocalEbeanServerConfigFactory.java b/metadata-service/factories/src/main/java/com/linkedin/gms/factory/common/LocalEbeanServerConfigFactory.java index fa2e420e7e16ac..66d917b444e01c 100644 --- a/metadata-service/factories/src/main/java/com/linkedin/gms/factory/common/LocalEbeanServerConfigFactory.java +++ b/metadata-service/factories/src/main/java/com/linkedin/gms/factory/common/LocalEbeanServerConfigFactory.java @@ -6,6 +6,8 @@ import io.ebean.datasource.DataSourceConfig; import io.ebean.datasource.DataSourcePoolListener; import java.sql.Connection; +import java.util.HashMap; +import java.util.Map; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; @@ -51,6 +53,9 @@ public class LocalEbeanServerConfigFactory { @Value("${ebean.autoCreateDdl:false}") private Boolean ebeanAutoCreate; + @Value("${ebean.postgresUseIamAuth:false}") + private Boolean postgresUseIamAuth; + private DataSourcePoolListener getListenerToTrackCounts(String metricName) { final String counterName = "ebeans_connection_pool_size_" + metricName; return new DataSourcePoolListener() { @@ -79,6 +84,12 @@ private DataSourceConfig buildDataSourceConfig(String dataSourceUrl, String data dataSourceConfig.setLeakTimeMinutes(ebeanLeakTimeMinutes); dataSourceConfig.setWaitTimeoutMillis(ebeanWaitTimeoutMillis); dataSourceConfig.setListener(getListenerToTrackCounts(dataSourceType)); + // Adding IAM auth access for AWS Postgres + if (postgresUseIamAuth) { + Map custom = new HashMap<>(); + custom.put("wrapperPlugins", "iam"); + dataSourceConfig.setCustomProperties(custom); + } return dataSourceConfig; } diff --git a/metadata-service/factories/src/main/resources/application.yml b/metadata-service/factories/src/main/resources/application.yml index 85a1735d221e32..697c88b2c29918 100644 --- a/metadata-service/factories/src/main/resources/application.yml +++ b/metadata-service/factories/src/main/resources/application.yml @@ -110,6 +110,7 @@ ebean: leakTimeMinutes: ${EBEAN_LEAK_TIME_MINUTES:15} waitTimeoutMillis: ${EBEAN_WAIT_TIMEOUT_MILLIS:1000} autoCreateDdl: ${EBEAN_AUTOCREATE:false} + postgresUseIamAuth: ${EBEAN_POSTGRES_USE_AWS_IAM_AUTH:false} # Only required if entityService.impl is cassandra cassandra: From e5a823e0d8cd112ed8fe97709b2d14dcb8ecab12 Mon Sep 17 00:00:00 2001 From: Mayuri Nehate <33225191+mayurinehate@users.noreply.github.com> Date: Tue, 6 Dec 2022 00:57:25 +0530 Subject: [PATCH 18/18] feat(ingest/snowflake): support filtering by fully qualified schema_pattern (#6611) --- docs/how/updating-datahub.md | 2 ++ .../datahub/configuration/pattern_utils.py | 13 ++++++++++ .../source/snowflake/snowflake_config.py | 24 +++++++++++++++++-- .../source/snowflake/snowflake_profiler.py | 8 ++++++- .../source/snowflake/snowflake_utils.py | 8 ++++++- .../source/snowflake/snowflake_v2.py | 8 ++++++- .../snowflake-beta/test_snowflake_beta.py | 13 +++++++--- 7 files changed, 68 insertions(+), 8 deletions(-) create mode 100644 metadata-ingestion/src/datahub/configuration/pattern_utils.py diff --git a/docs/how/updating-datahub.md b/docs/how/updating-datahub.md index 5c9f13a9c8879c..5b896bc41cbf51 100644 --- a/docs/how/updating-datahub.md +++ b/docs/how/updating-datahub.md @@ -12,6 +12,8 @@ This file documents any backwards-incompatible changes in DataHub and assists pe ### Other notable Changes +- #6611 - Snowflake `schema_pattern` now accepts pattern for fully qualified schema name in format `.` by setting config `match_fully_qualified_names : True`. Current default `match_fully_qualified_names: False` is only to maintain backward compatibility. The config option `match_fully_qualified_names` will be deprecated in future and the default behavior will assume `match_fully_qualified_names: True`." + ## 0.9.3 ### Breaking Changes diff --git a/metadata-ingestion/src/datahub/configuration/pattern_utils.py b/metadata-ingestion/src/datahub/configuration/pattern_utils.py new file mode 100644 index 00000000000000..313e68c41812f0 --- /dev/null +++ b/metadata-ingestion/src/datahub/configuration/pattern_utils.py @@ -0,0 +1,13 @@ +from datahub.configuration.common import AllowDenyPattern + + +def is_schema_allowed( + schema_pattern: AllowDenyPattern, + schema_name: str, + db_name: str, + match_fully_qualified_schema_name: bool, +) -> bool: + if match_fully_qualified_schema_name: + return schema_pattern.allowed(f"{db_name}.{schema_name}") + else: + return schema_pattern.allowed(schema_name) diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py index 43a14228e0efdf..643ba4f1db579c 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_config.py @@ -49,6 +49,11 @@ class SnowflakeV2Config(SnowflakeConfig, SnowflakeUsageConfig): description="Whether to populate Snowsight url for Snowflake Objects", ) + match_fully_qualified_names = bool = Field( + default=False, + description="Whether `schema_pattern` is matched against fully qualified schema name `.`.", + ) + @root_validator(pre=False) def validate_unsupported_configs(cls, values: Dict) -> Dict: @@ -70,11 +75,26 @@ def validate_unsupported_configs(cls, values: Dict) -> Dict: "include_read_operational_stats is not supported. Set `include_read_operational_stats` to False.", ) + match_fully_qualified_names = values.get("match_fully_qualified_names") + + schema_pattern: Optional[AllowDenyPattern] = values.get("schema_pattern") + + if ( + schema_pattern is not None + and schema_pattern != AllowDenyPattern.allow_all() + and match_fully_qualified_names is not None + and not match_fully_qualified_names + ): + logger.warning( + "Please update `schema_pattern` to match against fully qualified schema name `.` and set config `match_fully_qualified_names : True`." + "Current default `match_fully_qualified_names: False` is only to maintain backward compatibility. " + "The config option `match_fully_qualified_names` will be deprecated in future and the default behavior will assume `match_fully_qualified_names: True`." + ) + # Always exclude reporting metadata for INFORMATION_SCHEMA schema - schema_pattern = values.get("schema_pattern") if schema_pattern is not None and schema_pattern: logger.debug("Adding deny for INFORMATION_SCHEMA to schema_pattern.") - cast(AllowDenyPattern, schema_pattern).deny.append(r"^INFORMATION_SCHEMA$") + cast(AllowDenyPattern, schema_pattern).deny.append(r".*INFORMATION_SCHEMA$") include_technical_schema = values.get("include_technical_schema") include_profiles = ( diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_profiler.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_profiler.py index 9fe9696a0f2a02..2cc2c9100199c4 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_profiler.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_profiler.py @@ -7,6 +7,7 @@ from sqlalchemy import create_engine, inspect from sqlalchemy.sql import sqltypes +from datahub.configuration.pattern_utils import is_schema_allowed from datahub.emitter.mce_builder import make_dataset_urn_with_platform_instance from datahub.ingestion.api.common import WorkUnit from datahub.ingestion.source.ge_data_profiler import ( @@ -55,7 +56,12 @@ def get_workunits(self, databases: List[SnowflakeDatabase]) -> Iterable[WorkUnit continue profile_requests = [] for schema in db.schemas: - if not self.config.schema_pattern.allowed(schema.name): + if not is_schema_allowed( + self.config.schema_pattern, + schema.name, + db.name, + self.config.match_fully_qualified_names, + ): continue for table in schema.tables: diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py index dadae620956c70..c3b9be555a4f83 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_utils.py @@ -7,6 +7,7 @@ from snowflake.connector.cursor import DictCursor from typing_extensions import Protocol +from datahub.configuration.pattern_utils import is_schema_allowed from datahub.emitter.mcp import MetadataChangeProposalWrapper from datahub.ingestion.api.workunit import MetadataWorkUnit from datahub.ingestion.source.snowflake.snowflake_config import SnowflakeV2Config @@ -136,7 +137,12 @@ def _is_dataset_pattern_allowed( if not self.config.database_pattern.allowed( dataset_params[0].strip('"') - ) or not self.config.schema_pattern.allowed(dataset_params[1].strip('"')): + ) or not is_schema_allowed( + self.config.schema_pattern, + dataset_params[1].strip('"'), + dataset_params[0].strip('"'), + self.config.match_fully_qualified_names, + ): return False if dataset_type.lower() in {"table"} and not self.config.table_pattern.allowed( diff --git a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py index 352da03ce83f56..4c96e0fb32edb6 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py +++ b/metadata-ingestion/src/datahub/ingestion/source/snowflake/snowflake_v2.py @@ -7,6 +7,7 @@ import pydantic from snowflake.connector import SnowflakeConnection +from datahub.configuration.pattern_utils import is_schema_allowed from datahub.emitter.mce_builder import ( make_container_urn, make_data_platform_urn, @@ -508,7 +509,12 @@ def _process_database( self.report.report_entity_scanned(snowflake_schema.name, "schema") - if not self.config.schema_pattern.allowed(snowflake_schema.name): + if not is_schema_allowed( + self.config.schema_pattern, + snowflake_schema.name, + db_name, + self.config.match_fully_qualified_names, + ): self.report.report_dropped(f"{db_name}.{snowflake_schema.name}.*") continue diff --git a/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py b/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py index cb09b529b0d384..7945b7f1fa1522 100644 --- a/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py +++ b/metadata-ingestion/tests/integration/snowflake-beta/test_snowflake_beta.py @@ -55,7 +55,13 @@ def default_query_results(query): "CREATED": datetime(2021, 6, 8, 0, 0, 0, 0), "LAST_ALTERED": datetime(2021, 6, 8, 0, 0, 0, 0), "COMMENT": "comment for TEST_DB.TEST_SCHEMA", - } + }, + { + "SCHEMA_NAME": "TEST2_SCHEMA", + "CREATED": datetime(2021, 6, 8, 0, 0, 0, 0), + "LAST_ALTERED": datetime(2021, 6, 8, 0, 0, 0, 0), + "COMMENT": "comment for TEST_DB.TEST_SCHEMA", + }, ] elif query == SnowflakeQuery.tables_for_database("TEST_DB"): return [ @@ -339,7 +345,8 @@ def test_snowflake_basic(pytestconfig, tmp_path, mock_time, mock_datahub_graph): username="TST_USR", password="TST_PWD", include_views=False, - table_pattern=AllowDenyPattern(allow=["test_db.test_schema.*"]), + match_fully_qualified_names=True, + schema_pattern=AllowDenyPattern(allow=["test_db.test_schema"]), include_technical_schema=True, include_table_lineage=True, include_view_lineage=False, @@ -408,7 +415,7 @@ def test_snowflake_private_link(pytestconfig, tmp_path, mock_time, mock_datahub_ username="TST_USR", password="TST_PWD", include_views=False, - table_pattern=AllowDenyPattern(allow=["test_db.test_schema.*"]), + schema_pattern=AllowDenyPattern(allow=["test_schema"]), include_technical_schema=True, include_table_lineage=False, include_view_lineage=False,