Lifecycle: Initial Deployment via Notebook - GT-Analytics/fuam-basic GitHub Wiki
General
This page describes how to set up FUAM Basic step by step via Notebook.
The deployment of FUAM Basic can be done with very little effort, since we tried to automize as much as possible.

Prerequisites
- A user account with permanent Fabric Administrator Entra rights
- Ability to create a Service Principal on your tenant
- Ability to create a Workspace on your tenant
- Power BI or Fabric capacity
- Enabled admin setting 'Users can create Fabric items' for FUAM workspace admin(s)
- Optional: Ability to access an Azure Key Vault on your tenant
Deployment process (Gen2)
The following steps need to be done:
1. Download Notebook
- Download the Deploy_FUAM_Basic_Gen2.ipynb locally to you computer.
2. Prepare your environment
2.1 Create and authorize Service Principal
- Create a new service principal with client secret within Azure Entra ID, without any API permissions.
Info: Enabling some of the Power BI API permissions might cause errors when executing pipelines later on.
- Add the service principal to a group enabled for the following two admin settings:
- Service Principals can use Fabric APIs
- Service Principals can access read-only admin APIs
2.2 Create a Workspace
- Create a new workspace "FUAM" (name can be changed), which is backed by a P or F-capacity
- Download the Workspace logo
- Add the logo to FUAM workspace
3. Import and Run Notebook
-
Import the recently downloaded Deploy_FUAM_Basic_Gen2.ipynb Notebook into your FUAM workspace

-
Run the Notebook

Info: The notebook will automatically create two new cloud connections (without credentials):
| Connection 1 | Connection 2 | |
|---|---|---|
| Connection Name | pbi-service-api admin | fabric-service-api admin |
| Connection Type | Web v2 | Web v2 |
| Base Url | https://api.powerbi.com/v1.0/myorg/admin | https://api.fabric.microsoft.com/v1/admin |
| Token Audience Url | https://analysis.windows.net/powerbi/api | https://api.fabric.microsoft.com |
| Authentification | Service Principal | Service Principal |
Error handling: In case of an error, you'll be able to run the notebook again. It has an update mechanism, which will act as an item update.
4. Add credentials to connections
-
Navigate under Settings to 'Manage connections and gateways' in Fabric
-
Set the credentials of the connections with the recently created service principal information:

Info: These connections are used in FUAM pipelines to retrieve data from REST APIs. If the credentials are incorrect or the secret has expired, the pipeline will fail.
5. Run orchestration Pipeline
Info: The Load_Basic_Package_Sequentially_E2E is the main end-to-end orchestration pipeline of FUAM Basic. It contains/triggers all other sub-pipelines (FUAM modules), which are implemented in the solution. The sub-pipelines download all the required data via APIs and the referenced Notebooks will transform/write the data to the final FUAM_Lakehouse delta tables.
- Navigate to your FUAM Workspace
- Search for the item 'Load_Basic_Package_Sequentially_E2E'
- Open the Load_Basic_Package_Sequentially_E2E pipeline
The Pipeline has different parameters, which are controlling the data load flow:
| Parameter Name | Description | Allowed values |
|---|---|---|
| has_tenant_domains | If true, the tenant inventory is enriched with domain information. Use it only, if domains are in use at your tenant. Default is false | true or false |
| extract_powerbi_artifacts_only | If true, the tenant inventory contains only semantic models, dataflows, datamarts, reports, dashboard and apps. If false the pipeline extracts Power BI and Fabric items. Currently, first-party workloads are supported only. Default is false | true or false |
| activity_days_in_scope | It defines how many days in the past the activity must be retrieved from the API. Recommended to use 30 for the initial load and change the value to 2 for daily load. | range between 1 and 30 |
| display_data | If true, the notebooks will display more information about each relevant step at runtime. This is useful for debugging. Default is false | true or false |
| optional_keyvault_name | Optional: If you have configured a key vault, enter the name of the key vault. Otherwise, simply leave this field blank. In this case, the Load_Inventory module will use the Notebook owner's identity. | empty or string |
| optional_keyvault_sp_tenantId_secret_name | Optional: If you have configured a key vault and its secretes, enter the name of the tenantId secret name. Otherwise, simply leave this field blank. In this case, the Load_Inventory module will use the Notebook owner's identity. | empty or string |
| optional_keyvault_sp_clientId_secret_name | Optional: If you have configured a key vault and its secretes, enter the name of the clientId secret name. Otherwise, simply leave this field blank. In this case, the Load_Inventory module will use the Notebook owner's identity. | empty or string |
| optional_keyvault_sp_secret_secret_name | Optional: If you have configured a key vault and its secretes, enter the name of the service principal's secret secret name. Otherwise, simply leave this field blank. In this case, the Load_Inventory module will use the Notebook owner's identity. | empty or string |
-
Run the Pipeline once

Error handling:
Make sure that you are signed-in with a User, which has 'Fabric Administrator' rights on the tenant
Make sure that the SP has granted access for the two tenant settings: 'Service Principals can use Fabric APIs' and 'Service Principals can access read-only admin APIs'
Review the credentials of the connections
Set the 'activity_days_in_scope' to 28, whenever the 'Load_Activities' pipeline got an error
Or visit the Remarks to FUAM wiki page.
6. Open FUAM Report
6.1 Refresh semantic model
- Navigate to your FUAM Workspace
- Search for the item 'FUAM_Basic_PBI_Overview_SM'
- Click on 'Refresh' semantic model
6.2 Open PBI report
- Navigate to your FUAM Workspace
- Search for the item 'FUAM_Basic_Overview_Report'
- Open the FUAM_Basic_Overview_Report report
- Feel free to explore the report pages

Error handling: In case of errors like 'Visual can't be rendered', please visit the Remarks to FUAM wiki page.
7. Schedule Pipeline for daily load
- Navigate to your FUAM Workspace
- Search for the item 'Load_Basic_Package_Sequentially_E2E'
- Open the Load_Basic_Package_Sequentially_E2E pipeline
- Click on Run -> Schedule
- Configure the schedule

Congratulations!
Your FUAM Basic solution is ready to use.