Konfigurowanie skalowania modelu semantycznego w poziomie
Skalowanie w poziomie można włączyć w usługa Power BI lub przy użyciu interfejsów API REST zestawów danych usługi Power BI. Przed skonfigurowaniem modelu semantycznego zapoznaj się z omówieniem semantycznego modelu skalowalnego w poziomie usługi Power BI.
Włączanie skalowania w poziomie w usługa Power BI
Aby włączyć skalowanie w poziomie dla modelu semantycznego w usługa Power BI, wykonaj następujące kroki:
W usługa Power BI otwórz obszar roboczy z semantycznym modelem, dla którego chcesz włączyć skalowanie w poziomie.
Wybierz więcej opcji semantycznego modelu (...).
Z menu wybierz pozycję Ustawienia.
Na stronie ustawienia włącz format magazynu dużego modelu semantycznego, jeśli nie jest włączony.
Włącz skalowanie zapytań w poziomie i wybierz pozycję Zastosuj.
Włączanie skalowania w poziomie przy użyciu interfejsów API REST zestawów danych
W tej sekcji opisano używanie interfejsów API REST zestawów danych usługi Power BI do konfigurowania semantycznego modelu skalowalnego w poziomie.
Pobieranie identyfikatora zestawu danych
Aby uzyskać identyfikator datasetId, użyj polecenia Get-PowerBIDataset. Musisz określić identyfikator obszaru roboczego i nazwę semantycznego modelu.
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"
Uzyskiwanie bieżącej konfiguracji skalowania w poziomie
Przed skonfigurowaniem skalowania modelu semantycznego w poziomie określ bieżącą konfigurację.
###
# 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."
}
Włączanie skalowania modelu semantycznego w poziomie
Aby włączyć skalowanie modelu semantycznego w poziomie, ustaw wartość maxReadOnlyReplicas
-1
na , lub dowolną wartość inną niż 0. Wartość umożliwia usłudze -1
Power BI tworzenie tak wielu replik tylko do odczytu, jak obsługuje pojemność usługi Power BI. Można również jawnie ustawić liczbę replik na wartość niższą niż maksymalna pojemność. Zalecane jest ustawienie wartości maxReadOnlyReplicas
-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
}
}
Wyłączanie skalowania modelu semantycznego w poziomie
Aby wyłączyć skalowanie modelu semantycznego w poziomie, ustaw wartość maxReadOnlyReplicas
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
}
}