Konfigurera utskalning av semantisk modell
Du kan aktivera utskalning i Power BI-tjänst eller med hjälp av REST-API:er för Power BI-datauppsättningar. Innan du konfigurerar semantisk modell läser du översikten över utskalning av Power BI-semantikmodell .
Aktivera utskalning i Power BI-tjänst
Följ dessa steg för att aktivera utskalning för din semantiska modell i Power BI-tjänst:
I Power BI-tjänst öppnar du arbetsytan med den semantiska modell som du vill aktivera utskalning för.
Välj semantikmodellens fler alternativ (...).
Välj Inställningar på menyn.
På inställningens sida aktiverar du lagringsformatet Stor semantisk modell om det inte är aktiverat.
Aktivera utskalning av fråga och välj Tillämpa.
Aktivera utskalning med hjälp av REST-API:er för datauppsättningar
I det här avsnittet beskrivs hur du använder REST-API:er för Power BI-datauppsättningar för att konfigurera utskalning av semantisk modell.
Hämta datasetId
Om du vill hämta datasetId använder du Get-PowerBIDataset. Du måste ange ett workspaceId- och semantiskt modellnamn.
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
Write-Host
Write-Host "Workspace Id: $workspaceId"
Write-Host "Dataset Id: $datasetId"
Hämta aktuell utskalningskonfiguration
Innan du konfigurerar utskalning av semantisk modell ska du bestämma den aktuella konfigurationen.
###
# Get current scale-out configuration
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
$response = Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get | ConvertFrom-Json
$response.queryScaleOutSettings | Format-List
if ($response.queryScaleOutSettings.maxReadOnlyReplicas -eq -1 `
-or $response.queryScaleOutSettings.maxReadOnlyReplicas -gt 0)
{
Write-Host "Semantic model scale-out is enabled."
}
else
{
Write-Host "Semantic model scale-out is disabled."
}
Aktivera utskalning av semantisk modell
Om du vill aktivera utskalning av semantisk modell anger du maxReadOnlyReplicas
till -1
, eller valfritt värde som inte är 0. Ett värde för -1
gör att Power BI kan skapa så många skrivskyddade repliker som din Power BI-kapacitet stöder. Du kan också uttryckligen ange antalet repliker till ett lägre värde än det maximala kapacitetsvärdet. Vi rekommenderar att du anger maxReadOnlyReplicas
till -1
.
###
# Enable scale-out
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
-Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": -1 }}'
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
| ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
| ForEach {
if($_.maxReadOnlyReplicas -eq -1)
{
Write-Host "Success! Semantic model scale-out has been enabled."
} else
{
Write-Host "Something went wrong! Semantic model scale-out is still disabled." -ForegroundColor Red
}
}
Inaktivera utskalning av semantisk modell
Om du vill inaktivera utskalning av semantisk modell anger du maxReadOnlyReplicas
till 0
.
###
# Disable scale-out
###
Login-PowerBI | Out-Null
$workspaceId = '<enter workspaceId>'
$datasetId = Get-PowerBIDataset -WorkspaceId $workspaceId `
| Where{$_.Name -match "<enter semantic model name>"} `
| Select-Object -ExpandProperty Id -First 1 `
| ForEach-Object {$_.Guid}
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" `
-Method Patch -Body '{ "queryScaleOutSettings": { "maxReadOnlyReplicas": 0 }}'
Invoke-PowerBIRestMethod -Url "groups/$workspaceId/datasets/$datasetId" -Method Get `
| ConvertFrom-Json | Select-Object -ExpandProperty queryScaleOutSettings `
| ForEach {
if($_.maxReadOnlyReplicas -eq 0)
{
Write-Host "Success! Semantic model scale-out has been disabled."
} else
{
Write-Host "Something went wrong! Semantic model scale-out is still enabled." -ForegroundColor Red
}
}