Forum Discussion

gbc40's avatar
gbc40
New Member
2 years ago
Solved

Power Bi deployment pipeline with Azure Devops and Snowflake

Hi, 

 

I am trying to setup Power BI CICD in Azure DevOps. I am using Power BI Action to publish report and update datasource connection.

 

I have seen that there is already a great post regarding this topic : https://community.fabric.microsoft.com/t5/Community-Blog/PowerBI-CICD-using-Azure-DevOps/ba-p/769244/page/3#comments

However, this post proposes to use a powershell script or Power BI action extension with Odata in regards to data source update. 

I would like to know how I can update the data source when using snowflake as part of the CICD in Azure Devops with the Power BI actions extension. 

Here is the a screenshot of the options I have : 


I would like to know what I should select to update Datasource connection when using snowflake ? 

 

 


My goal is to create a pipeline to deploy Power BI  reports from UAT to Prod where reports and datasets in the UAT workspace have to point only to UAT databases and reports and datasets in the PROD workspace have to point only to UAT databases. 
In Power BI Service, I know that I can use a rule to update a parameter but it is a very manual and time consuming to apply this parameter to all reports. Also, I would like to ensure that Row Level Security remains during that process. 

Here is my current pipeline. Is this the right approach ?



trigger
:
- master

pool:
vmImage: 'windows-latest'

steps:
- task: CopyFiles@2
displayName: 'Copy Files to: Staging Artifact'
inputs:
Contents: '**'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
OverWrite: true

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'

- task: PowerBIActions@5
inputs:
PowerBIServiceEndpoint: 'pbi-spn'
Action: 'Publish'
WorkspaceName: 'Sustain.Life Reporting UAT'
PowerBIPath: '$(System.DefaultWorkingDirectory)/drop/Odata'

- task: PowerBIActions@5
inputs:
PowerBIServiceEndpoint: 'pbi-spn'
Action: 'Publish'
WorkspaceName: 'Sustain.Life Reporting UAT'
PowerBIPath: '$(System.DefaultWorkingDirectory)/drop/sql'

- task: PowerBIActions@5
inputs:
PowerBIServiceEndpoint: 'pbi-spn'
Action: 'Publish'
WorkspaceName: 'Sustain.Life Reporting PROD'

-
task: PowerBIActions@5
inputs:
PowerBIServiceEndpoint: 'pbi-spn'
Action: 'UpdateDatasource'
UpdateAll: true
DatasourceType: 'Sql' (What should be the data source type ?)
OldServer: 'XXXX.XXXXX.azure.snowflakecomputing.com'
NewServer: 'XXXX.XXXXX.azure.snowflakecomputing.com'
OldDatabase: 'ANALYTICS_DB_UAT'
NewDatabase: 'ANALYTICS_DB_PROD'
PowerBIPath: '$(System.DefaultWorkingDirectory)/drop/sql'(What should be the format for this?)


Thank you in advance for your help !
Best,

Gabriel




2 Replies