Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez activer le scale-out dans le service Power BI ou à l’aide des API REST des jeux de données Power BI. Avant de configurer le modèle sémantique, lisez la vue d’ensemble du scale-out du modèle sémantique Power BI .
Activer le scale-out dans le service Power BI
Pour activer le scale-out pour votre modèle sémantique dans le service Power BI, procédez comme suit :
Dans le service Power BI, ouvrez l’espace de travail avec le modèle sémantique pour lequel vous souhaitez activer le scale-out.
Sélectionnez les options supplémentaires du modèle sémantique (...).
Dans le menu, sélectionnez Paramètres.
Dans la page du paramètre, activez le format de stockage du modèle sémantique volumineux s’il n’est pas activé.
Activez le scale-out des requêtes et sélectionnez Appliquer.
Activer la mise à l'échelle à l'aide des API REST des ensembles de données
Cette section décrit l’utilisation des API REST des jeux de données Power BI pour configurer le scale-out du modèle sémantique.
Obtenir l’identifiant du jeu de données
Pour obtenir le datasetId, utilisez Get-PowerBIDataset. Vous devez spécifier un id d’espace de travail et un nom de modèle sémantique.
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"
Obtenir la configuration de scale-out actuelle
Avant de configurer le scale-out du modèle sémantique, déterminez la configuration actuelle.
###
# 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."
}
Activer le scale-out du modèle sémantique
Pour activer le scale-out du modèle sémantique, définissez maxReadOnlyReplicas sur -1, ou une valeur non nulle quelconque. Une valeur de -1 permet à Power BI de créer autant de réplicas en lecture seule que votre capacité Power BI le prend en charge. Vous pouvez également définir explicitement le nombre de réplicas sur une valeur inférieure à celle de la capacité maximale. Il est recommandé de configurer maxReadOnlyReplicas sur -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
}
}
Désactiver le scale-out du modèle sémantique
Pour désactiver l'extensibilité du modèle sémantique, définissez maxReadOnlyReplicas sur 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
}
}