Compartir a través de


Configuración del escalado horizontal del modelo semántico

Puede habilitar el escalado horizontal en el servicio Power BI o mediante las API REST de conjuntos de datos de Power BI. Antes de configurar el modelo semántico, consulte la vista general sobre el escalado horizontal del modelo semántico de Power BI.

Habilitación del escalado horizontal en el servicio Power BI

Para habilitar el escalado horizontal del modelo semántico en el servicio Power BI, siga estos pasos:

  1. En el servicio Power BI, abra el área de trabajo con el modelo semántico para el que desea habilitar el escalamiento horizontal.

  2. Seleccione las opciones más del modelo semántico (...).

  3. En el menú, seleccione Configuración.

  4. En la página de la configuración, habilite el formato de almacenamiento del modelo semántico grande si no está habilitado.

  5. Habilite el escalado horizontal de consultas y seleccione Aplicar.

    Captura de pantalla que muestra cómo habilitar el escalado horizontal en el servicio Power BI.

Habilitación del escalado horizontal mediante las API REST de conjuntos de datos

En esta sección se describe el uso de las API REST de conjuntos de datos de Power BI para configurar el escalado horizontal del modelo semántico.

Obtener ID de conjunto de datos

Para obtener el ID del conjunto de datos, use Get-PowerBIDataset. Debe especificar un workspaceId y un nombre de modelo semántico.

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"

Obtención de la configuración de escalabilidad horizontal actual

Antes de configurar el escalado horizontal del modelo semántico, determine cuál es la configuración actual.

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

Permitir el escalado horizontal del modelo semántico

Para habilitar el escalado horizontal del modelo semántico, establezca el valor de maxReadOnlyReplicas en -1 o en cualquier valor distinto de 0. Un valor de -1 permite a Power BI crear tantas réplicas de solo lectura como admita la capacidad de Power BI. También puede establecer explícitamente el recuento de réplicas en un valor inferior al del máximo de capacidad. Se recomienda establecer maxReadOnlyReplicas en -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
        }
     }

Deshabilitar el escalado horizontal del modelo semántico

Para deshabilitar el escalado horizontal del modelo semántico, establezca `maxReadOnlyReplicas` en `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
        }
     }