forked from datahub-project/datahub
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(ingest): power-bi - add support for on-prem PowerBI Report Server (
- Loading branch information
1 parent
57efa4f
commit 4d6776f
Showing
12 changed files
with
1,787 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
metadata-ingestion/docs/sources/powerbi/powerbi-report-server.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
## Configuration Notes | ||
See the | ||
1. [Microsoft Grant user access to a Report Server doc](https://docs.microsoft.com/en-us/sql/reporting-services/security/grant-user-access-to-a-report-server?view=sql-server-ver16) | ||
2. Use your user credentials from previous step in yaml file | ||
## Concept mapping | ||
|
||
| Power BI Report Server | Datahub | | ||
| ------------------------- | ------------------- | | ||
| `Paginated Report` | `Dashboard` | | ||
| `Power BI Report` | `Dashboard` | | ||
| `Mobile Report` | `Dashboard` | | ||
| `Linked Report` | `Dashboard` | | ||
| `Dataset, Datasource` | `N/A` | |
29 changes: 29 additions & 0 deletions
29
metadata-ingestion/docs/sources/powerbi/powerbi-report-server_recipe.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
source: | ||
type: powerbi-report-server | ||
config: | ||
# Your Power BI Report Server Windows username | ||
username: username | ||
# Your Power BI Report Server Windows password | ||
password: password | ||
# Your Workstation name | ||
workstation_name: workstation_name | ||
# Your Power BI Report Server host URL, example: localhost:80 | ||
host_port: host_port | ||
# Your alias for Power BI Report Server host URL, example: local_powerbi_report_server | ||
server_alias: server_alias | ||
# Workspace's dataset environments, example: (PROD, DEV, QA, STAGE) | ||
env: DEV | ||
# Workspace's dataset environments, example: (PROD, DEV, QA, STAGE) | ||
graphql_url: http://localhost:8080/api/graphql | ||
# Your Power BI Report Server base virtual directory name for reports | ||
report_virtual_directory_name: Reports | ||
# Your Power BI Report Server base virtual directory name for report server | ||
report_server_virtual_directory_name: ReportServer | ||
# Enable/Disable extracting ownership information of Dashboard | ||
extract_ownership: True | ||
# Set ownership type | ||
ownership_type: TECHNICAL_OWNER | ||
|
||
|
||
sink: | ||
# sink configs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
9 changes: 9 additions & 0 deletions
9
metadata-ingestion/src/datahub/ingestion/source/powerbi_report_server/__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from datahub.ingestion.source.powerbi_report_server.constants import Constant | ||
from datahub.ingestion.source.powerbi_report_server.report_server import ( | ||
PowerBiReportServerDashboardSource, | ||
) | ||
from datahub.ingestion.source.powerbi_report_server.report_server_domain import ( | ||
CorpUser, | ||
PowerBiReport, | ||
Report, | ||
) |
98 changes: 98 additions & 0 deletions
98
metadata-ingestion/src/datahub/ingestion/source/powerbi_report_server/constants.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
from enum import Enum | ||
|
||
|
||
class CreatedFrom(Enum): | ||
REPORT = "Report" | ||
DATASET = "Dataset" | ||
VISUALIZATION = "Visualization" | ||
UNKNOWN = "Unknown" | ||
|
||
|
||
class RelationshipDirection(Enum): | ||
INCOMING = "INCOMING" | ||
OUTGOING = "OUTGOING" | ||
|
||
|
||
class Constant: | ||
""" | ||
keys used in powerbi plugin | ||
""" | ||
|
||
DATASET = "DATASET" | ||
REPORTS = "REPORTS" | ||
REPORT = "REPORT" | ||
REPORT_DATASOURCES = "REPORT_DATASOURCES" | ||
TYPE_REPORT = "Report" | ||
DATASOURCE = "DATASOURCE" | ||
DATASET_DATASOURCES = "DATASET_DATASOURCES" | ||
DatasetId = "DatasetId" | ||
ReportId = "ReportId" | ||
PowerBiReportId = "ReportId" | ||
Dataset_URN = "DatasetURN" | ||
DASHBOARD_ID = "powerbi.linkedin.com/dashboards/{}" | ||
DASHBOARD = "dashboard" | ||
DATASETS = "DATASETS" | ||
DATASET_ID = "powerbi.linkedin.com/datasets/{}" | ||
DATASET_PROPERTIES = "datasetProperties" | ||
SUBSCRIPTION = "SUBSCRIPTION" | ||
SYSTEM = "SYSTEM" | ||
CATALOG_ITEM = "CATALOG_ITEM" | ||
EXCEL_WORKBOOK = "EXCEL_WORKBOOK" | ||
EXTENSIONS = "EXTENSIONS" | ||
FAVORITE_ITEM = "FAVORITE_ITEM" | ||
FOLDERS = "FOLDERS" | ||
KPIS = "KPIS" | ||
LINKED_REPORTS = "LINKED_REPORTS" | ||
LINKED_REPORT = "LINKED_REPORT" | ||
ME = "ME" | ||
MOBILE_REPORTS = "MOBILE_REPORTS" | ||
MOBILE_REPORT = "MOBILE_REPORT" | ||
POWERBI_REPORTS = "POWERBI_REPORTS" | ||
POWERBI_REPORT = "POWERBI_REPORT" | ||
POWERBI_REPORT_DATASOURCES = "POWERBI_REPORT_DATASOURCES" | ||
TYPE_POWERBI_REPORT = "PowerBIReport" | ||
RESOURCE = "RESOURCE" | ||
SESSION = "SESSION" | ||
SYSTEM_POLICIES = "SYSTEM_POLICIES" | ||
DATASET_KEY = "datasetKey" | ||
BROWSERPATH = "browsePaths" | ||
DATAPLATFORM_INSTANCE = "dataPlatformInstance" | ||
STATUS = "status" | ||
VALUE = "value" | ||
ID = "ID" | ||
DASHBOARD_INFO = "dashboardInfo" | ||
DASHBOARD_KEY = "dashboardKey" | ||
CORP_USER = "corpuser" | ||
CORP_USER_INFO = "corpUserInfo" | ||
OWNERSHIP = "ownership" | ||
CORP_USER_KEY = "corpUserKey" | ||
|
||
|
||
API_ENDPOINTS = { | ||
Constant.CATALOG_ITEM: "{PBIRS_BASE_URL}/CatalogItems({CATALOG_ID})", | ||
Constant.DATASETS: "{PBIRS_BASE_URL}/Datasets", | ||
Constant.DATASET: "{PBIRS_BASE_URL}/Datasets({DATASET_ID})", | ||
Constant.DATASET_DATASOURCES: "{PBIRS_BASE_URL}/Datasets({DATASET_ID})/DataSources", | ||
Constant.DATASOURCE: "{PBIRS_BASE_URL}/DataSources({DATASOURCE_ID})", | ||
Constant.EXCEL_WORKBOOK: "{PBIRS_BASE_URL}/ExcelWorkbooks({EXCEL_WORKBOOK_ID})", | ||
Constant.EXTENSIONS: "{PBIRS_BASE_URL}/Extensions", | ||
Constant.FAVORITE_ITEM: "{PBIRS_BASE_URL}/FavoriteItems({FAVORITE_ITEM_ID})", | ||
Constant.FOLDERS: "{PBIRS_BASE_URL}/Folders({FOLDER_ID})", | ||
Constant.KPIS: "{PBIRS_BASE_URL}/Kpis({KPI_ID})", | ||
Constant.LINKED_REPORTS: "{PBIRS_BASE_URL}/LinkedReports", | ||
Constant.LINKED_REPORT: "{PBIRS_BASE_URL}/LinkedReports({LINKED_REPORT_ID})", | ||
Constant.ME: "{PBIRS_BASE_URLL}/Me", | ||
Constant.MOBILE_REPORTS: "{PBIRS_BASE_URL}/MobileReports", | ||
Constant.MOBILE_REPORT: "{PBIRS_BASE_URL}/MobileReports({MOBILE_REPORT_ID})", | ||
Constant.POWERBI_REPORTS: "{PBIRS_BASE_URL}/PowerBiReports", | ||
Constant.POWERBI_REPORT: "{PBIRS_BASE_URL}/PowerBiReports({POWERBI_REPORT_ID})", | ||
Constant.POWERBI_REPORT_DATASOURCES: "{PBIRS_BASE_URL}/PowerBiReports({ID})/DataSources", | ||
Constant.REPORTS: "{PBIRS_BASE_URL}/Reports", | ||
Constant.REPORT: "{PBIRS_BASE_URL}/Reports({REPORT_ID})", | ||
Constant.REPORT_DATASOURCES: "{PBIRS_BASE_URL}/Reports({ID})/DataSources", | ||
Constant.RESOURCE: "{PBIRS_BASE_URL}/Resources({RESOURCE_GET})", | ||
Constant.SESSION: "{PBIRS_BASE_URL}/Session", | ||
Constant.SUBSCRIPTION: "{PBIRS_BASE_URL}/Subscriptions({SUBSCRIPTION_ID})", | ||
Constant.SYSTEM: "{PBIRS_BASE_URL}/System", | ||
Constant.SYSTEM_POLICIES: "{PBIRS_BASE_URL}/System/Policies", | ||
} |
Oops, something went wrong.