From 9c4084f0b6b212950945f6721ea05342345b95c3 Mon Sep 17 00:00:00 2001 From: treff7es Date: Tue, 21 May 2024 23:48:13 +0200 Subject: [PATCH 1/2] Adding Dashboards into collections --- .../src/datahub/ingestion/source/mode.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/metadata-ingestion/src/datahub/ingestion/source/mode.py b/metadata-ingestion/src/datahub/ingestion/source/mode.py index 7ef9ba051151d..4aa6248d09ab3 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/mode.py +++ b/metadata-ingestion/src/datahub/ingestion/source/mode.py @@ -23,7 +23,11 @@ from datahub.configuration.common import AllowDenyPattern, ConfigModel from datahub.configuration.source_common import DatasetLineageProviderConfigBase from datahub.emitter.mcp import MetadataChangeProposalWrapper -from datahub.emitter.mcp_builder import ContainerKey, gen_containers +from datahub.emitter.mcp_builder import ( + ContainerKey, + add_dataset_to_container, + gen_containers, +) from datahub.ingestion.api.common import PipelineContext from datahub.ingestion.api.decorators import ( SourceCapability, @@ -1438,6 +1442,7 @@ def construct_space_container( def emit_dashboard_mces(self) -> Iterable[MetadataWorkUnit]: for space_token, space_name in self.space_tokens.items(): yield from self.construct_space_container(space_token, space_name) + space_container_key = self.gen_space_key(space_token) reports = self._get_reports(space_token) for report in reports: @@ -1464,6 +1469,10 @@ def emit_dashboard_mces(self) -> Iterable[MetadataWorkUnit]: aspect=SubTypesClass(typeNames=[BIAssetSubTypes.MODE_REPORT]), ) yield mcpw.as_workunit() + yield from add_dataset_to_container( + container_key=space_container_key, + dataset_urn=dashboard_snapshot_from_report.urn, + ) yield browse_mcpw.as_workunit() usage_statistics = DashboardUsageStatisticsClass( From d1fde1e6ff24682c1cb478dc4d74ad91ad192a0d Mon Sep 17 00:00:00 2001 From: treff7es Date: Wed, 22 May 2024 00:13:49 +0200 Subject: [PATCH 2/2] Update golden files --- .../tests/integration/mode/mode_mces_golden.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/metadata-ingestion/tests/integration/mode/mode_mces_golden.json b/metadata-ingestion/tests/integration/mode/mode_mces_golden.json index 14c891bf5926e..2fa9f4ee86a86 100644 --- a/metadata-ingestion/tests/integration/mode/mode_mces_golden.json +++ b/metadata-ingestion/tests/integration/mode/mode_mces_golden.json @@ -107,6 +107,22 @@ "lastRunId": "no-run-id-provided" } }, +{ + "entityType": "dashboard", + "entityUrn": "urn:li:dashboard:(mode,2934237)", + "changeType": "UPSERT", + "aspectName": "container", + "aspect": { + "json": { + "container": "urn:li:container:800cfcb4cec6ad587cafde11a0b0bb4a" + } + }, + "systemMetadata": { + "lastObserved": 1638860400000, + "runId": "mode-test", + "lastRunId": "no-run-id-provided" + } +}, { "entityType": "dashboard", "entityUrn": "urn:li:dashboard:(mode,2934237)",