Microsoft Power BI
Disclaimer
Your use of this download is governed by Stonebranch’s Terms of Use.
Version Information
Template Name | Extension Name | Version | Status |
---|---|---|---|
Microsoft Power BI | ue-ms-powerbi | 1 (Current 1.0.0) | Fixes and new Features are introduced. |
Refer to Changelog for version history information.
Overview
Microsoft Power BI is a Business Intelligence Tool. Power BI users can connect to and combine data from multiple data sources through a secure interface, creating Power BI datasets. Additionally, users may combine and transform collections of tables into a data pipeline, creating Power BI dataflows. This integration provides the capability to perform refresh actions on Microsoft PowerBI Datasets and Dataflows.
A typical Use Case is when UAC is used as a Data Pipeline orchestrator, where the last step of a workflow could be the refresh of a Microsoft Dataset or Dataflow.
Key Features
Feature | Description |
---|---|
Refresh Datasets or Dataflows | Refresh Datasets or Dataflows on Power BI and monitor until the refresh completes with success or failure. |
Requirements
This integration requires a Universal Agent and a Python runtime to execute the Universal Task.
Area | Details |
---|---|
Python Version | Requires Python 3.11. Tested with Agent bundled python distribution. |
Universal Agent Compatibility |
|
Universal Controller Compatibility | Universal Controller Version >= 7.6.0.0. |
Network and Connectivity | Network Connectivity towards MS Power BI is required. |
MS Power BI Versions | Tested with Power BI version 2.130.754.0 with REST API version 5.10.0. It should be compatible on later versions as long as backwards compatibility is guaranteed on the API level. |
Supported Actions
Action: Refresh Dataset/Dataflow
This action allows users to refresh a dataset or a dataflow on Power BI. The task author has to provide the required Domain and Authentication fields, as well as the Dataset/Dataflow Name to refresh. Additionally, it can be decided (through Wait For Completion field) whether the task will simply initiate the refresh process, or also wait for a final success or failure state to be reached. In that case, a polling interval and maximum number of polls may be defined.
Configuration examples
Scenario A: Connect to Power BI Services using Domain, Username & Password Authentication and Client ID. Afterwards, refresh selected Dataflow from given list and start polling every 10 seconds for the refresh’s status for 10 poll cycles. | Scenario B: Connect to Power BI Services using Domain and Client Credentials Authentication. Afterwards, refresh selected Dataset from given list and start polling every 10 seconds until refresh is completed. |
Action Output
Output Type | Description | Examples |
---|---|---|
EXTENSION | The extension output provides the following information:
|
Input Fields
Name | Type | Description | Version Information |
---|---|---|---|
Action | Choice | The action performed upon the task execution.
| Introduced in 1.0.0. |
Domain or Tenant ID | Text | Unique Microsoft domain or identifier to be used when communicating with the foreign API. | Introduced in 1.0.0. |
Authentication Type | Choice | The authentication type to be used when communicating with the foreign API. The following options are available.
| Introduced in 1.0.0. |
Client Credentials | Credentials | Credentials for "Using Client Secret" Authentication Type. The Credentials definition should be as follows.
| Introduced in 1.0.0. |
Username & Password Credentials | Credentials | Credentials for "Using Username & Password" Authentication Type. The Credentials definition should be as follows.
| Introduced in 1.0.0. |
Client ID | Text | The ID returned upon the creation of the Client Application. Only available if Authentication Type is set to “Using Username & Password”. | Introduced in 1.0.0. |
Group - Workflow | Dynamic Choice | The Microsoft Power BI Workspace Name. “My Workspace” is only applicable for Datasets and when Authentication Type is “Client Application - Using Username & Password”. | Introduced in 1.0.0. |
Dataset | Dynamic Choice | The name of the Power BI Dataset to refresh. | Introduced in 1.0.0. |
Dataflow | Dynamic Choice | The name of the Power BI Dataflow to refresh. | Introduced in 1.0.0. |
Wait for Completion | Checkbox | If selected, the UAC Task Instance will run until the triggered refresh is completed with success or failure. Else Task Instance will finish immediately after refresh is triggered successfully. | Introduced in 1.0.0. |
Polling Interval (sec) | Integer | The polling interval in seconds while checking the Dataflow/Dataset Refresh Status. Available if Wait for Completion is “true”. As a best practice, if the Refresh expected completion duration is long, set the polling Interval to a larger value. A short value will trigger frequent checks towards Power BI which in the case of long-duration refreshes is inefficient in terms of resources. | Introduced in 1.0.0. |
Max Number of Polls | Integer | Maximum number of polls. If left empty polling runs indefinitely. Can be used to control the approximate expected duration of Dataset/Dataflow Refresh (in relation also to Polling Interval (sec)). Available if Wait for Completion is “true”. If the Maximum Number of Polls is reached the exit code of the task will be 40. | Introduced in 1.0.0. |
Output Fields
The following output-only fields provide better visibility during the execution of Universal Task Instances.
Field | Type | Description | Version Information |
---|---|---|---|
Refresh Status | String | Current status of ongoing refresh. | Introduced in 1.0.0 |
Cancelation and Rerun
In case of cancellation, extension stops polling for refresh status. The refresh process does not get cancelled if it has already been initiated.
In case of rerun the extension executes all commands from the beginning. That means that the extension will try to start the refresh even if the same dataset is currently being refreshed. In case a new refresh request is sent while the old one is still ongoing an appropriate error message will be raised.
Exit Codes
Exit Code | Status | Status Description | Meaning |
---|---|---|---|
0 | Success | “SUCCESS: Task executed successfully.“ | Successful Execution |
1 | Failure | “Execution Failed: <<Error Description>>” | Generic Error. Raised when not falling into the other Error Codes. |
2 | Failure | “Authentication Error: Account cannot be authenticated.“ | Bad credentials |
3 | Failure | “Authorization Error: Account is not authorized to perform the requested action.“ | Insufficient permissions |
20 | Failure | “Data Validation Error: <<Error Description>> “ | Input fields validation error. |
21 | Failure | “Refresh Running Error: Refresh already initiated “ | Another refresh instance is already running for specific dataset/dataflow. |
40 | Failure | “Polling Timeout: Maximum number of polls is reached.“ | The refresh has not been completed after max number of polls. |
STDOUT and STDERR
STDOUT of this integration is empty and STDERR provides additional information to the user, the detail of it is tuned by Log Level Task Definition field.
Backward compatibility is not guaranteed for the content of STDOUT/STDERR and can be changed in future versions without notice.
How To
Import Universal Template
To use the Universal Template, you first must perform the following steps.
This Universal Task requires the Resolvable Credentials feature. Check that the Resolvable Credentials Permitted system property has been set to true.
To import the Universal Template into your Controller, follow these instructions.
When the files have been imported successfully, refresh the Universal Templates list; the Universal Template will appear on the list.
Modifications of this integration, applied by users or customers, before or after import, might affect the supportability of this integration. For more information refer to Integration Modifications.
Configure Universal Task
For a new Universal Task, create a new task, and enter the required input fields.
Integration Modifications
Modifications applied by users or customers, before or after import, might affect the supportability of this integration. The following modifications are discouraged to retain the support level as applied for this integration.
Python code modifications should not be done.
Template Modifications
General Section
"Name", "Extension", "Variable Prefix", and "Icon" should not be changed.
Universal Template Details Section
"Template Type", "Agent Type", "Send Extension Variables", and "Always Cancel on Force Finish" should not be changed.
Result Processing Defaults Section
Success and Failure Exit codes should not be changed.
Success and Failure Output processing should not be changed.
Fields Restriction Section
The setup of the template does not impose any restrictions. However, concerning the "Exit Code Processing Fields" section.
i. Success/Failure exit codes need to be respected.
ii. In principle, as STDERR and STDOUT outputs can change in follow-up releases of this integration, they should not be considered as a reliable source for determining the success or failure of a task.
Users and customers are encouraged to report defects, or feature requests at Stonebranch Support Desk.
Document References
This document references the following documents:
Document Link | Description |
---|---|
Universal Templates | User documentation for creating, working with and understanding Universal Templates and Integrations. |
Universal Tasks | User documentation for creating Universal Tasks in the Universal Controller user interface. |
Changelog
ue-ms-powerbi-1.0.0 (2024-08-14)
Initial release supporting execution and monitoring of Dataset and Dataflow refreshes on MS Power BI.