Forum Discussion
Update Dataset Connections using Power BI APIs
- 1 year ago
Your JSON request body should look like this:
{ "updateDetails": [ { "datasourceType": "Sql", "connectionDetails": { "database": "NAME_OF_DATABASE", "server": "NAME_OF_SERVER.database.windows.net" }, "datasourceId": "XYZ123" } ] }For cloud sources like Azure SQL Database, leave this field empty or remove it. The API does not require a gateway for cloud connections.
PowerShell Script:
# Parameters $workspaceId = "YOUR_WORKSPACE_ID" $datasetId = "YOUR_DATASET_ID" $url = "https://api.powerbi.com/v1.0/myorg/groups/$workspaceId/datasets/$datasetId/Default.UpdateDatasources" # Connection Details $ConnectionDetailsObject = @{ updateDetails = @( @{ datasourceType = "Sql" connectionDetails = @{ database = "NAME_OF_DATABASE" server = "NAME_OF_SERVER.database.windows.net" } } ) } # Convert to JSON and Make the API Call Invoke-PowerBIRestMethod -Url $url -Method Post -Body ($ConnectionDetailsObject | ConvertTo-Json -Depth 10) -ContentType "application/json"If this post helps, then please consider Accepting it as the solution to help the other members find it more quickly.
Hi LJonesStripe ,
Thanks for reaching out to the Microsoft fabric community forum.
Please ensure that:
1) The original data source and the new data source have the exact same schema.
2) You are the dataset owner
3) your token is not expired, Tokens are typically valid for 1 hour. If you receive an authentication error, refresh the token by re-running Connect-PowerBIServiceAccount or obtaining a new token programmatically.
Did I answer your question? Mark my post as a solution, this will help others!
If my response(s) assisted you in any way, don't forget to give "Kudos"
Thanks and Regards
Hi,
I beleive the data sources have the exact same schema. How do I verify this?
I am the dataset owner, In my powershell script I am authenticating using oAuth to the API and authenticating using the same account. Can I just verify that I am using the correct endpoint?
In the GUI I am trying to update this section:
I am using this API: https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/update-datasources-in-group
- v-nmadadi-msft1 year agoCommunity Support
Hi LJonesStripe
Thanks for reaching out to the Microsoft fabric community forum.
1) To check for the schemas, you have to connect to the SQL database and check the columns of the table for which you made the connection.
2) Please try to run some other api call to check if there is no issue with authentication like for example
Datasets - Get Dataset In Group - REST API (Power BI Power BI REST APIs) | Microsoft Learn
which returns the specified dataset from the specified workspace.
3) If that is working you can rule out any issue with authentication and then try to check if there is any errors with connection details and JSON payload
If you find this post helpful, please mark it as an "Accept as Solution" and consider giving a KUDOS.
Thanks and Regards