Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете включить горизонтальное масштабирование в службе Power BI, или использовать REST API наборов данных Power BI. Перед настройкой семантической модели ознакомьтесь с обзором масштабирования семантической модели Power BI .
Включение горизонтального масштабирования в службе Power BI
Чтобы включить горизонтальное масштабирование для семантической модели в службе Power BI, выполните следующие действия.
В службе Power BI откройте рабочую область с семантической моделью, для которой нужно включить масштабирование.
Выберите дополнительные параметры семантической модели (...).
В меню выберите "Параметры".
На странице параметра включите формат хранилища больших семантических моделей , если он не включен.
Включите горизонтальное масштабирование запросов и нажмите кнопку "Применить".
Включите масштабирование с помощью REST API для наборов данных.
В этом разделе описывается использование REST API наборов данных Power BI для настройки горизонтального масштабирования семантической модели.
Получение идентификатора набора данных
Чтобы получить идентификатор набора данных, используйте Get-PowerBIDataset. Необходимо указать идентификатор рабочей области и имя семантической модели.
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"
Получение текущей конфигурации горизонтального масштабирования
Перед настройкой горизонтального масштабирования семантической модели определите текущую конфигурацию.
###
# 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."
}
Включить масштабирование семантической модели
Чтобы включить горизонтальное масштабирование семантической модели, задайте maxReadOnlyReplicas в -1 или любое значение, отличное от 0. Значение -1 позволяет Power BI создавать столько реплик только для чтения, сколько поддерживает емкость Power BI. Вы также можете явно задать количество реплик значением ниже, чем максимальное значение емкости. Установка 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
}
}
Отключение горизонтального масштабирования семантической модели
Чтобы отключить горизонтальное масштабирование семантической модели, установите значение 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
}
}