Konfigurace horizontálního škálování sémantického modelu

Ve službě Power BI můžete povolit scale-out nebo pomocí rozhraní REST API pro datové sady Power BI. Před konfigurací sémantického modelu si přečtěte přehled škálování sémantického modelu Power BI.

Povolit škálování ve službě Power BI

Pokud chcete povolit škálování kapacity pro sémantický model ve službě Power BI, postupujte takto:

  1. V Power BI službě otevřete pracovní prostor se sémantickým modelem, pro který chcete povolit škálování.

  2. Vyberte další možnosti sémantického modelu (...).

  3. V nabídce vyberte Nastavení.

  4. Na stránce nastavení povolte formát úložiště velkého sémantického modelu , pokud není povolený.

  5. Povolte škálování dotazu a zvolte Použít.

    Snímek obrazovky znázorňující povolení horizontálního navýšení kapacity ve službě Power BI

Povolení horizontálního navýšení kapacity pomocí rozhraní REST API datových sad

Tato část popisuje použití rozhraní REST API datových sad Power BI ke konfiguraci škálování sémantického modelu.

Získání id datové sady

K získání id datové sady použijte Get-PowerBIDataset. Je nutné zadat id pracovního prostoru a sémantický název 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"

Získání aktuální konfigurace horizontálního navýšení kapacity

Před konfigurací horizontálního škálování sémantického modelu zjistěte aktuální konfiguraci.

###
# 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."
}

Povolení horizontálního škálování sémantických modelů

Pokud chcete povolit škálování sémantického modelu, nastavte maxReadOnlyReplicas na -1 nebo jinou hodnotu než 0. Hodnota -1 umožňuje Power BI vytvářet tolik replik jen pro čtení, kolik vaše kapacita Power BI podporuje. Počet replik můžete také explicitně nastavit na hodnotu nižší než maximální kapacita. Doporučuje se nastavit maxReadOnlyReplicas na -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
        }
     }

Zakázání škálování sémantického modelu

Pokud chcete zakázat škálování sémantického modelu, nastavte maxReadOnlyReplicas na 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
        }
     }