Sdílet prostřednictvím


Konfigurace sémantického modelu se škálováním na více instancí

Horizontální navýšení kapacity můžete povolit v služba Power BI nebo pomocí rozhraní REST API datových sad Power BI. Před konfigurací sémantického modelu si přečtěte přehled sémantických modelů Power BI se škálováním na více instancí.

Povolení horizontálního navýšení kapacity v služba Power BI

Pokud chcete povolit horizontální navýšení kapacity pro sémantický model v služba Power BI, postupujte takto:

  1. V služba Power BI otevřete pracovní prostor sémantickým modelem, pro který chcete povolit horizontální navýšení kapacity.

  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 horizontální navýšení kapacity dotazu a vyberte Použít.

    A screenshot showing how to enable scale out in Power BI service.

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 sémantického modelu horizontálního navýšení kapacity.

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í sémantického modelu horizontálního navýšení kapacity určete 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 navýšení kapacity sémantických modelů

Pokud chcete povolit sémantický model se škálováním na více instancí, nastavte maxReadOnlyReplicas hodnotu -1nebo 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 nastavení 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
        }
     }

Zakázání sémantického modelu horizontálního navýšení kapacity

Pokud chcete zakázat sémantický model horizontálního navýšení kapacity, nastavte maxReadOnlyReplicas hodnotu 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
        }
     }