mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-12-27 07:28:30 +00:00
GEN-2000: Add Support for PowerBI Report Server (#18513)
This commit is contained in:
parent
3d62581b29
commit
6879c1aa23
@ -0,0 +1,22 @@
|
||||
source:
|
||||
type: powerbireportserver
|
||||
serviceName: local_powerbi_report_server
|
||||
serviceConnection:
|
||||
config:
|
||||
type: PowerBIReportServer
|
||||
hostPort: http://192.168.1.1
|
||||
username: username
|
||||
password: password
|
||||
sourceConfig:
|
||||
config:
|
||||
type: DashboardMetadata
|
||||
sink:
|
||||
type: metadata-rest
|
||||
config: {}
|
||||
workflowConfig:
|
||||
# loggerLevel: INFO # DEBUG, INFO, WARN or ERROR
|
||||
openMetadataServerConfig:
|
||||
hostPort: http://localhost:8585/api
|
||||
authProvider: openmetadata
|
||||
securityConfig:
|
||||
jwtToken: "eyJraWQiOiJHYjM4OWEtOWY3Ni1nZGpzLWE5MmotMDI0MmJrOTQzNTYiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlzQm90IjpmYWxzZSwiaXNzIjoib3Blbi1tZXRhZGF0YS5vcmciLCJpYXQiOjE2NjM5Mzg0NjIsImVtYWlsIjoiYWRtaW5Ab3Blbm1ldGFkYXRhLm9yZyJ9.tS8um_5DKu7HgzGBzS1VTA5uUjKWOCU0B_j08WXBiEC0mr0zNREkqVfwFDD-d24HlNEbrqioLsBuFRiwIWKc1m_ZlVQbG7P36RUxhuv2vbSp80FKyNM-Tj93FDzq91jsyNmsQhyNv_fNr3TXfzzSPjHt8Go0FMMP66weoKMgW2PbXlhVKwEuXUHyakLLzewm9UMeQaEiRzhiTMU3UkLXcKbYEJJvfNFcLwSl9W8JCO_l0Yj3ud-qt_nQYEZwqW6u5nfdQllN133iikV4fM5QZsMCnm8Rq1mvLR0y9bmJiD7fwM1tmJ791TUWqmKaTnP49U493VanKpUAfzIiOiIbhg"
|
||||
@ -0,0 +1,67 @@
|
||||
---
|
||||
title: Run the PowerBI Report Server Connector Externally
|
||||
slug: /connectors/dashboard/powerbireportserver/yaml
|
||||
---
|
||||
|
||||
{% connectorDetailsHeader
|
||||
name="PowerBIReportServer"
|
||||
stage="BETA"
|
||||
platform="Collate"
|
||||
availableFeatures=["Dashboards"]
|
||||
unavailableFeatures=["Owners", "Tags", "Charts", "Datamodels", "Projects", "Lineage"]
|
||||
/ %}
|
||||
|
||||
In this section, we provide guides and references to use the PowerBI Report Server connector.
|
||||
|
||||
Configure and schedule PowerBI Report Server metadata from CLI:
|
||||
|
||||
- [Requirements](#requirements)
|
||||
- [Metadata Ingestion](#metadata-ingestion)
|
||||
|
||||
{% partial file="/v1.5/connectors/external-ingestion-deployment.md" /%}
|
||||
|
||||
## Requirements
|
||||
|
||||
The PowerBI Report Server should be accessible from the ingestion environment.
|
||||
|
||||
## Metadata Ingestion
|
||||
|
||||
{% partial
|
||||
file="/v1.5/connectors/metadata-ingestion-ui.md"
|
||||
variables={
|
||||
connector: "PowerBIReportServer",
|
||||
selectServicePath: "/images/v1.6/connectors/powerbireportserver/select-service.png",
|
||||
addNewServicePath: "/images/v1.6/connectors/powerbireportserver/add-new-service.png",
|
||||
serviceConnectionPath: "/images/v1.6/connectors/powerbireportserver/service-connection.png",
|
||||
}
|
||||
/%}
|
||||
|
||||
{% stepsContainer %}
|
||||
{% extraContent parentTagName="stepsContainer" %}
|
||||
|
||||
#### Connection Details
|
||||
|
||||
**Host and Port**:
|
||||
This parameter specifies the host and port of the Metabase instance. This should be specified as a URI string in the format `http://hostname:port` or `https://hostname:port`.
|
||||
For example, you might set it to `http://192.168.1.1:80`.
|
||||
|
||||
**Username**:
|
||||
Username to connect to PowerBI Report Server.
|
||||
|
||||
**Password**:
|
||||
Password to connect to PowerBI Report Server.
|
||||
|
||||
**Web Portal Virtual Directory Name**
|
||||
Web Portal Virtual Directory name which you have configured in your PowerBI Report Server configuration manager.
|
||||
|
||||
{% /extraContent %}
|
||||
|
||||
{% partial file="/v1.6/connectors/test-connection.md" /%}
|
||||
|
||||
{% partial file="/v1.6/connectors/dashboard/configure-ingestion.md" /%}
|
||||
|
||||
{% partial file="/v1.6/connectors/ingestion-schedule-and-deploy.md" /%}
|
||||
|
||||
{% /stepsContainer %}
|
||||
|
||||
{% partial file="/v1.5/connectors/troubleshooting.md" /%}
|
||||
@ -0,0 +1,133 @@
|
||||
---
|
||||
title: Run the PowerBI Report Server Connector Externally
|
||||
slug: /connectors/dashboard/powerbireportserver/yaml
|
||||
---
|
||||
|
||||
{% connectorDetailsHeader
|
||||
name="PowerBIReportServer"
|
||||
stage="BETA"
|
||||
platform="Collate"
|
||||
availableFeatures=["Dashboards"]
|
||||
unavailableFeatures=["Owners", "Tags", "Datamodels", "Charts", "Lineage", "Projects"]
|
||||
/ %}
|
||||
|
||||
In this section, we provide guides and references to use the PowerBI Report Server connector.
|
||||
|
||||
Configure and schedule PowerBI Report Server metadata for external ingestion:
|
||||
|
||||
- [Requirements](#requirements)
|
||||
- [Metadata Ingestion](#metadata-ingestion)
|
||||
|
||||
{% partial file="/v1.5/connectors/external-ingestion-deployment.md" /%}
|
||||
|
||||
## Requirements
|
||||
|
||||
The PowerBI Report Server should be accessible from the ingestion environment.
|
||||
|
||||
### Python Requirements
|
||||
|
||||
{% partial file="/v1.5/connectors/python-requirements.md" /%}
|
||||
|
||||
To run the Metabase ingestion, you will need to install:
|
||||
|
||||
```bash
|
||||
pip3 install "collate-ingestion[powerbi-report-server]"
|
||||
```
|
||||
|
||||
## Metadata Ingestion
|
||||
|
||||
All connectors are defined as JSON Schemas.
|
||||
[Here](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/entity/services/connections/dashboard/powerBIReportServerConnection.json)
|
||||
you can find the structure to create a connection to Metabase.
|
||||
|
||||
In order to create and run a Metadata Ingestion workflow, we will follow
|
||||
the steps to create a YAML configuration able to connect to the source,
|
||||
process the Entities if needed, and reach the OpenMetadata server.
|
||||
|
||||
The workflow is modeled around the following
|
||||
[JSON Schema](https://github.com/open-metadata/OpenMetadata/blob/main/openmetadata-spec/src/main/resources/json/schema/metadataIngestion/workflow.json)
|
||||
|
||||
### 1. Define the YAML Config
|
||||
|
||||
This is a sample config for Metabase:
|
||||
|
||||
### 1. Define the YAML Config
|
||||
|
||||
{% codePreview %}
|
||||
|
||||
{% codeInfoContainer %}
|
||||
|
||||
#### Source Configuration - Service Connection
|
||||
|
||||
{% codeInfo srNumber=1 %}
|
||||
|
||||
**hostPort**:
|
||||
This parameter specifies the host and port of the Metabase instance. This should be specified as a URI string in the format `http://hostname:port` or `https://hostname:port`.
|
||||
For example, you might set it to `http://192.168.1.1:80`.
|
||||
|
||||
{% /codeInfo %}
|
||||
|
||||
{% codeInfo srNumber=2 %}
|
||||
|
||||
**username**:
|
||||
Username to connect to PowerBI Report Server.
|
||||
|
||||
{% /codeInfo %}
|
||||
|
||||
{% codeInfo srNumber=3 %}
|
||||
|
||||
**password**:
|
||||
Password to connect to PowerBI Report Server.
|
||||
|
||||
{% /codeInfo %}
|
||||
|
||||
{% codeInfo srNumber=3 %}
|
||||
|
||||
**webPortalVirtualDirectory**
|
||||
Web Portal Virtual Directory name which you have configured in your PowerBI Report Server configuration manager.
|
||||
|
||||
{% /codeInfo %}
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/dashboard/source-config-def.md" /%}
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/ingestion-sink-def.md" /%}
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/workflow-config-def.md" /%}
|
||||
|
||||
|
||||
{% /codeInfoContainer %}
|
||||
|
||||
{% codeBlock fileName="filename.yaml" %}
|
||||
|
||||
```yaml {% isCodeBlock=true %}
|
||||
source:
|
||||
type: powerbireportserver
|
||||
serviceName: <service name>
|
||||
serviceConnection:
|
||||
config:
|
||||
type: PowerBIReportServer
|
||||
```
|
||||
```yaml {% srNumber=1 %}
|
||||
hostPort: http://<your-host>
|
||||
```
|
||||
```yaml {% srNumber=2 %}
|
||||
username: username
|
||||
```
|
||||
```yaml {% srNumber=3 %}
|
||||
password: password
|
||||
```
|
||||
```yaml {% srNumber=3 %}
|
||||
webPortalVirtualDirectory: Reports
|
||||
```
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/dashboard/source-config.md" /%}
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/ingestion-sink.md" /%}
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/workflow-config.md" /%}
|
||||
|
||||
{% /codeBlock %}
|
||||
|
||||
{% /codePreview %}
|
||||
|
||||
{% partial file="/v1.5/connectors/yaml/ingestion-cli.md" /%}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 114 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 172 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 354 KiB |
@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "PowerBIReportServer",
|
||||
"displayName": "PowerBIReportServer Test Connection",
|
||||
"description": "This Test Connection validates the access against the server and basic metadata extraction of dashboards and charts.",
|
||||
"steps": [
|
||||
{
|
||||
"name": "GetDashboards",
|
||||
"description": "List all the dashboards available to the user",
|
||||
"errorMessage": "Failed to fetch dashboards, please validate the credentials or validate if user has access to fetch dashboards",
|
||||
"shortCircuit": true,
|
||||
"mandatory": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,60 @@
|
||||
{
|
||||
"$id": "https://open-metadata.org/schema/entity/services/connections/dashboard/powerBIReportServerConnection.json",
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "PowerBIReportServerConnection",
|
||||
"description": "PowerBIReportServer Connection Config",
|
||||
"type": "object",
|
||||
"javaType": "org.openmetadata.schema.services.connections.dashboard.PowerBIReportServerConnection",
|
||||
"definitions": {
|
||||
"powerBIReportServerType": {
|
||||
"description": "PowerBIReportServer service type",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"PowerBIReportServer"
|
||||
],
|
||||
"default": "PowerBIReportServer"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"type": {
|
||||
"title": "Service Type",
|
||||
"description": "Service Type",
|
||||
"$ref": "#/definitions/powerBIReportServerType",
|
||||
"default": "PowerBIReportServer"
|
||||
},
|
||||
"hostPort": {
|
||||
"expose": true,
|
||||
"title": "Host and Port",
|
||||
"description": "Dashboard URL for PowerBI Report Server.",
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
},
|
||||
"username": {
|
||||
"title": "Username",
|
||||
"description": "Username to connect to PowerBI report server.",
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"title": "Password",
|
||||
"description": "Password to connect to PowerBI report server.",
|
||||
"type": "string",
|
||||
"format": "password"
|
||||
},
|
||||
"webPortalVirtualDirectory": {
|
||||
"title": "Web Portal Virtual Directory Name",
|
||||
"description": "Web Portal Virtual Directory Name.",
|
||||
"type": "string",
|
||||
"default": "Reports"
|
||||
},
|
||||
"supportsMetadataExtraction": {
|
||||
"title": "Supports Metadata Extraction",
|
||||
"$ref": "../connectionBasicType.json#/definitions/supportsMetadataExtraction"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"hostPort",
|
||||
"username",
|
||||
"password"
|
||||
]
|
||||
}
|
||||
@ -21,6 +21,7 @@
|
||||
"Redash",
|
||||
"Metabase",
|
||||
"PowerBI",
|
||||
"PowerBIReportServer",
|
||||
"Mode",
|
||||
"CustomDashboard",
|
||||
"DomoDashboard",
|
||||
@ -49,6 +50,9 @@
|
||||
{
|
||||
"name": "PowerBI"
|
||||
},
|
||||
{
|
||||
"name": "PowerBIReportServer"
|
||||
},
|
||||
{
|
||||
"name": "Mode"
|
||||
},
|
||||
@ -95,6 +99,9 @@
|
||||
{
|
||||
"$ref": "./connections/dashboard/powerBIConnection.json"
|
||||
},
|
||||
{
|
||||
"$ref": "./connections/dashboard/powerBIReportServerConnection.json"
|
||||
},
|
||||
{
|
||||
"$ref": "./connections/dashboard/redashConnection.json"
|
||||
},
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
# PowerBI Report Server
|
||||
|
||||
In this section, we provide guides and references to use the PowerBI Report Server connector.
|
||||
|
||||
## Connection Details
|
||||
|
||||
$$section
|
||||
### Host and Port $(id="hostPort")
|
||||
|
||||
This parameter specifies the host and port of the Metabase instance. This should be specified as a URI string in the format `http://hostname:port` or `https://hostname:port`.
|
||||
|
||||
For example, you might set it to `http://192.168.1.1:80`.
|
||||
|
||||
$$
|
||||
|
||||
$$section
|
||||
### Username $(id="username")
|
||||
Username to connect to PowerBI Report Server.
|
||||
$$
|
||||
|
||||
$$section
|
||||
### Password $(id="password")
|
||||
Password to connect to PowerBI Report Server.
|
||||
$$
|
||||
|
||||
$$section
|
||||
### Web Portal Virtual Directory Name $(id="webPortalVirtualDirectory")
|
||||
Web Portal Virtual Directory name which you have configured in your PowerBI Report Server configuration manager.
|
||||
$$
|
||||
Loading…
x
Reference in New Issue
Block a user