Delen via


Uitschalen van semantisch model configureren

U kunt uitschalen inschakelen in Power BI-service of met behulp van de REST API's van Power BI-gegevenssets. Lees voordat u een semantisch model configureert het overzicht van het uitschalen van het semantische Power BI-model .

Uitschalen inschakelen Power BI-service

Als u uitschalen wilt inschakelen voor uw semantische model in Power BI-service, voert u de volgende stappen uit:

  1. Open in Power BI-service de werkruimte met het semantische model waarvoor u uitschalen wilt inschakelen.

  2. Selecteer de meer opties van het semantische model (...).

  3. Selecteer Instellingen in het menu.

  4. Schakel op de pagina van de instelling de opslagindeling voor grote semantische modellen in als deze niet is ingeschakeld.

  5. Schakel het uitschalen van query's in en selecteer Toepassen.

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

Uitschalen inschakelen met behulp van de REST API's voor gegevenssets

In deze sectie wordt beschreven hoe u de REST API's van Power BI-gegevenssets gebruikt voor het configureren van uitschalen van semantische modellen.

GegevenssetId ophalen

Gebruik Get-PowerBIDataset om de datasetId op te halen. U moet een workspaceId en een semantische modelnaam opgeven.

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"

Huidige uitschaalconfiguratie ophalen

Voordat u het uitschalen van het semantische model configureert, moet u de huidige configuratie bepalen.

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

Uitschalen van semantisch model inschakelen

Als u het uitschalen van semantische modellen wilt inschakelen, stelt u deze in maxReadOnlyReplicas-1op of een andere waarde dan 0. Met de waarde kan -1 Power BI net zoveel alleen-lezen replica's maken als uw Power BI-capaciteit ondersteunt. U kunt het aantal replica's ook expliciet instellen op een waarde lager dan die van de maximale capaciteit. Instelling maxReadOnlyReplicas is -1 aanbevolen.

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

Uitschalen van semantisch model uitschakelen

Als u het uitschalen van semantische modellen wilt uitschakelen, gaat u naar maxReadOnlyReplicas0.

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