Welcome to the Azure DevOps version of the FUAM deploymenator. Which is a FUAM deployment accelerator that I developed in order to push FUAM deployments from a GitHub repository to a Microsoft Fabric tenant. Which utilizes both the Fabric CLI and the fabric-cicd Python library.
You can find an overview about this solution in my post about the Azure DevOps version of the FUAM deploymenator.
All the prerequisites covered in the FUAM deployment guide still apply. Plus, you need the below details.
- Object ID for a Microsoft Entra user. So that they are granted permissions to view created connections. Plus, be an additional administrator for FUAM alongside the service principal. Ideally this user should be a Fabric admin.
- Name of the Fabric capacity that the new workspace will be connected to in the target tenant.
In addition, the below Tenant admin settings need to be enabled. If they are currently disabled recommend that you add the service principal to a Microsoft Entra group. You can then enable the setting for that Entra group only.
- Service principals can call Fabric can create workspaces, connections, and deployment pipelines. - Required for the workflow to complete.
- Service principals can call Fabric public APIs. - Also required for the workflow to complete.
- Service principals can access read-only APIs - Required for data Pipelines to work after deployment.
For the FUAM deploymenator to work it is crucial that the "parameter.yml" file is in-place and is accurate. Because it replaces the below values:
- Original workspace GUID.
- FUAM_Backup_Lakehouse GUID.
- FUAM_Lakehouse GUID.
- SQL endpoint connection string.
- Value for the fuam pbi-service-api admin connection Id (dynamically updated).
- Value for the fuam fabric-service-api admin connection Id (also dynamically updated).
- SQL Endpoint database id (again dynamically updated)
You must create a variable group with the below values in it as well. In the pipeline I call this variable group fuam-ns:
- resourceUrl - To get token. I suggest https://api.fabric.microsoft.com
- FirstItemsInScope - First set of items deployed by fabric-cicd. Set to "Notebook,Environment,Lakehouse,DataPipeline"
- SecondItemsInScope: Second set of items deployed by fabric-cicd. Set to "Report,SemanticModel"
- Notebook1Name- Name of first Post-Deployment notebook, initially set to "Deploy_FUAM_post_deployment.Notebook"
- Notebook2Name- Name of second Post-Deployment notebook, initially set to "Init_FUAM_Lakehouse_Tables.Notebook"
- Notebook3Name- Name of third Post-Deployment notebook, initially set to "Refresh_SQLEndpoints.Notebook"
- Notebook4Name-: Name of fourth Post-Deployment notebook, initially set to "Refresh_SemanticModels.Notebook"
- pbi_connection_name- Name of Power BI connection that gets created. Recommend set to "fuam pbi-service-api admin" (without quotes)
- pbibaseUrl - Base URL added to Power BI Connection. Set to "https://api.powerbi.com/v1.0/myorg/admin"
- pbiaudience - Audience added to Power BI Connection. Set to "https://analysis.windows.net/powerbi/api"
- fabric_connection_name - Name of Power BI connection that gets created. Recommend set to "fuam fabric-service-api admin" (without quotes)
- fabricbaseUrl - Base URL added to Fabric Connection. Set to "https://api.fabric.microsoft.com/v1/admin"
- fabricaudience - Audience added to Fabric Connection. Set to "https://api.fabric.microsoft.com"
In addition, you must import or clone the GitHub repository that I made available. From there, create a new YAML pipeline from the existing YAML file in the repository. In order to start the pipeline in your own Azure DevOps environment.
To start the FUAM deploymenator you must start the YAML in Azure Pipelines in Azue DevOps. You do this by going to Pipelines->Pipelines, selecting the pipeline and then clicking the "Run pipeline" button. Then enter the requested parameters as below:
- Tenant ID of the target Microsoft Entra tenant.
- Client ID of service principal used for FUAM connections and deployment.
- Secret value of service principal used for FUAM connections and deployment.
- Object Id of Entra user to add as FUAM admin.
- New workspace name.
- Fabric capacity name that the new workspace will be automatically assigned to.
After the deployment you can follow the FUAM deployment guide from step five. Where you need to configure the Capacity Metrics app.
However, I need to highlight one very important manual task you must do before you run the orchestration pipeline.
Which is that you must make a change to the Load_Capacity_Metrics_E2E Data Pipeline and save your change before you run the Load_FUAM_Data_E2E Data Pipeline. Otherwise this pipeline will fail due to permissions context.