L’API Rest de PowerBI Report Server
Suite au déploiement automatisé d’un rapport power BI vers le PowerBI Report Server (cf. PowerBI Report Server : Déployer et configurer un rapport via Script), une autre opération consiste à planifier le rafraîchissement du rapport.
A nouveau, nous pouvons faire appel à l’API Rest de PowerBI Report Server. Les planifications étant accessibles sur la route CacheRefreshPlans.
La planification
Pour créer une nouvelle planification, il s’agit d’utiliser sur cette route la méthode POST en lui fournissant un objet Json dont la structure est celle d’une planification.
Il faut y trouver :
- Un propriétaire
- Une description
- L’élément à rafraîchir (représenté par son chemin virtuel)
- Le type d’événement qui doit être DataModelRefresh
- Une planification
- Le cas échéants des valeurs pour les paramètres
Ce qui peut donner le script PowerShell suivant :
#Création de l'objet Json de planification
$payload = convertTo-Json (@{
"Owner" = "Domain\User";
"Description" = "Planification créée automatiquement"
"CatalogItemPath" = "/MonRapportPublie";
"EventType"="DataModelRefresh";
"Schedule" = @{"ScheduleID" = "";
"Definition" = @{
"StartDateTime" = "2018-11-14T16:00:00.00+02:00"
}
};
"ParameterValues" = @()
})
#Création de la planification sur le serveur
Invoke-WebRequest -Uri $powerBIReportsCacheRefreshPlansUri -Method POST -Body $payload -ContentType "application/json" -UseDefaultCredentials
Nous disposons désormais d’un rapport dont le rafraîchissement est planifié, la publication ayant été pilotée uniquement en PowerShell.
Hi,
Is it works with Power BI Report?
Thank you.
Regards,
Pawel
Hello,
It only works for PowerBI Reports on PowerBI Report Server, yes.
Regards