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,
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
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