This is best Fabric, Power BI, SQL and AI community event. How do we know? The last event sold out! Save €200 with code FABCMTY200.
Register nowThe Fabric community is upgrading! Read all of the details including the timeline and what you can expect. Learn more
Problem:
I need to import Dataflow json using Powershell
I created a copy of my Dataflow json file with a separate name and able to import using Powershell
It is able to Create the copied Dataflow
But when I run the function on original Dataflow json file it returns with exception: "The remote server returned an error: (404) Not Found."
I'm using the following function:
function ImportDataflow([string]$GroupID, [string]$DataflowName, [string]$DataflowDefinition) {
$UserAccessToken = Get-PowerBIAccessToken
$bearer = $UserAccessToken.Authorization.ToString()
$DataflowListurl = "groups/$GroupID/dataflows"
$flowItems = Invoke-PowerBIRestMethod -Method GET -Url $DataflowListurl | ConvertFrom-Json
$flow = $flowItems.value | Where-Object { $_.name -eq $DataflowName }
if ($flow) {
$CreateOrReplace = "&nameConflict=CreateOrOverwrite"
Write-Host "Overwriting Dataflow: $DataflowName";
} else {
$CreateOrReplace = ""
Write-Host "Creating new Dataflow: $DataflowName";
}
$url = "https://api.powerbi.com/v1.0/myorg/groups/$GroupID/imports?datasetDisplayName=model.json$CreateOrReplace"
$boundary = [System.Guid]::NewGuid().ToString("N")
$LF = [System.Environment]::NewLine
$body = (
"--$boundary",
"Content-Disposition: form-data, name=`"model.json`" filename=`"model.json`"",
"Content-Type: application/json$LF",
$DataflowDefinition,
"--$boundary--$LF"
) -join $LF
$headers = @{
'Authorization' = "$bearer"
'Content-Type' = "multipart/form-data; boundary=--$boundary"
}
Invoke-RestMethod -Uri $url -ContentType 'multipart/form-data' -Method POST -Headers $headers -Body $body
}
FYI - I am clearing Partition entity from $DataflowDefinition before passing it to the function
Found the workaround for this as we can't update Dataflows as of now
1. Delete the Dataflow,
2. Delete the files from blob (if you have specific blob storage)
3. Recreate the Dataflow
4. Run the dataflow with full refresh
Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.
| User | Count |
|---|---|
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |