Automatiser votre pipeline de déploiement pour les éléments Power BI à l’aide d’API
L’outil des pipelines de déploiement de Power BI permet aux équipes décisionnelles (BI) de créer un processus de publication efficace et réutilisable pour leur contenu Power BI.
Remarque
Les API de pipelines de déploiement répertoriées ici s’appliquent uniquement aux éléments Power BI. Pour les API Fabric, consultez la documentation de l’API Fabric.
Pour bénéficier de l’intégration continue et de la livraison continue (CI/CD) de contenu, de nombreuses organisations utilisent des outils d’automatisation, notamment Azure DevOps. Les organisations qui utilisent Azure DevOps peuvent utiliser l'extension des outils d'automatisation Power BI, qui prend en charge de nombreuses opérations d'API de pipelines de déploiement.
Vous pouvez utiliser les API REST Power BI des pipelines de déploiement pour intégrer Fabric dans le processus d’automatisation de votre organisation. Voici quelques exemples de ce qu’il est possible de faire en utilisant les API :
Gérer les pipelines du début à la fin, ce qui inclut la création d’un pipeline, l’affectation d’un espace de travail à n’importe quelle phase, ainsi que le déploiement et la suppression du pipeline.
Affecter des utilisateurs à un pipeline et désaffecter des utilisateurs d’un pipeline.
Intégrez Fabric dans des outils DevOps familiers tels qu'Azure DevOps ou GitHub Actions.
Planifier des déploiements de pipeline pour qu’ils se déclenchent automatiquement à un moment donné.
Déployer plusieurs pipelines en même temps.
Mettre en cascade des déploiements de pipeline. Si vous avez un contenu connecté à des pipelines, vous pouvez vous assurer que certains pipelines soient déployés avant d’autres.
Fonctions des API des pipelines de déploiement
Les API REST Power BI de pipelines de déploiement vous permettent d’effectuer les opérations suivantes :
Obtenir des informations sur les pipelines : récupérez des informations sur vos pipelines et leur contenu. Obtention des informations sur les pipeline vous permet de créer dynamiquement les appels d’API de déploiement. Vous pouvez aussi consulter l’état d’un déploiement ou l’historique des déploiements.
Déployer – Les appels REST permettent aux développeurs d'utiliser n'importe quel type de déploiement disponible dans le service Fabric.
Créer et supprimer des pipelines : utiliser les options Créer un pipeline et Supprimer le pipeline pour effectuer ces opérations.
Gérer les espaces de travail : avec Attribuer un espace de travail et Désattribuer l’espace de travail, vous pouvez attribuer des espaces de travail à des phases spécifiques du pipeline.
Gérer les utilisateurs du pipeline - : Supprimer un utilisateur de pipeline vous permet de supprimer un utilisateur d’un pipeline. Mettre à jour l’utilisateur du pipeline vous permet d’ajouter un utilisateur à votre pipeline.
Quels types de déploiement les API prennent-ils en charge ?
Les API prennent en charge les types de déploiement suivants :
Déployer tout : un seul appel d’API qui déploie tout le contenu de l’espace de travail vers la phase suivante du pipeline. Pour cette opération, utilisez l’API Déployer tout.
Déploiement sélectif – Déploie uniquement des éléments spécifiques, tels que des rapports ou des tableaux de bord, dans le pipeline. Pour cette opération, utilisez l’API Déploiement sélectif.
Déploiement en arrière – Déploie de nouveaux éléments à l'étape précédente. Le déploiement en amont ne fonctionne que si les éléments qui sont déployés n'existent pas déjà à l'étape cible. Pour cette opération, utilisez les API Déployer tout ou Déploiement sélectif avec
isBackwardDeployment
défini surTrue
.Mettre à jour l’application : dans le cadre de l’appel de l’API de déploiement, vous pouvez mettre à jour le contenu de l’application associée à cette phase. Les éléments mis à jour sont automatiquement disponibles pour vos utilisateurs finaux, une fois le déploiement terminé. Pour cette opération, utilisez les API Déployer tout ou Déploiement sélectif avec PipelineUpdateAppSettings.
Avant de commencer
Avant d’utiliser les API de pipelines de déploiement, vérifiez que vous disposez des éléments suivants :
Le principal du service, ou l'utilisateur qui appelle les API, a besoin d'autorisations de pipeline et d'espace de travail ainsi que d'un accès à une application Microsoft Entra.
Si vous prévoyez d’utiliser des scripts PowerShell, installez les applets de commande PowerShell Power BI Install-Module MicrosoftPowerBIMgmt.
Intégrer votre pipeline à Azure DevOps
Pour automatiser les processus de déploiement à partir de votre pipeline de versions dans Azure DevOps, utilisez l'une de ces méthodes :
PowerShell – Le script se connecte à Fabric à l'aide d'un principal de service ou d'un utilisateur.
Outils d’automation Power BI - Cette extension fonctionne avec un principal de service ou un utilisateur.
Vous pouvez aussi utiliser d’autres appels d’API REST Power BI pour effectuer des opérations connexes, comme importer un .pbix dans le pipeline ou mettre à jour des sources de données et des paramètres.
Utiliser l’extension des outils d’automatisation Power BI
L’extension d’outils d’automatisation Power BI sont une extension Azure DevOps open source qui fournit une gamme d’opérations de pipelines de déploiement pouvant être effectuées dans Azure DevOps. Elle élimine le besoin d’API ou de scripts pour gérer les pipelines. Chaque opération peut être utilisée individuellement pour effectuer une tâche telle que la création d’un pipeline. Des opérations peuvent être utilisées avec d’autres dans un pipeline Azure DevOps pour créer un scénario plus complexe comme la création d’un pipeline, l’affectation d’un espace de travail au pipeline, l’ajout d’utilisateurs et le déploiement.
Après avoir ajouté l’extension d’outils d’automatisation Power BI à DevOps, vous devez créer une connexion de service. Les connexions suivantes sont disponibles :
Principal de service (recommandé) - Cette connexion s’authentifie avec un principal de service et demande aux applications Microsoft Entra un secret et un ID d’application. Lorsque vous utilisez cette option, vérifiez que les paramètres d'administration de service pour le principal de service sont activés.
Nom d’utilisateur et mot de passe – Configuré en tant que connexion de service générique avec un nom d’utilisateur et un mot de passe. Cette méthode de connexion ne prend pas en charge l’authentification multifacteur. Nous vous recommandons d’utiliser la méthode de connexion du principal de service, car elle ne nécessite pas de stockage des informations d’identification utilisateur sur Azure DevOps.
Notes
L’extension des outils d’automatisation Power BI utilise une connexion de service Azure DevOps pour stocker les informations d’identification. Pour plus d’informations, consultez Comment nous stockons vos informations d’identification pour Azure DevOps Services.
Une fois que vous avez activé une connexion de service pour vos outils d’automatisation Power BI Azure DevOps, vous pouvez créer des tâches de pipeline. L’extension comprend les tâches de pipeline de déploiement suivantes :
Créer un pipeline
Attribuer un espace de travail à une phase de pipeline
Ajouter un utilisateur à un pipeline de déploiement
Ajouter un utilisateur à un espace de travail
Déployer du contenu dans un pipeline de déploiement
Supprimer un espace de travail d’un pipeline de déploiement
Supprimer un pipeline
Accéder aux exemples PowerShell
Vous pouvez utiliser les scripts PowerShell suivants pour comprendre comment exécuter plusieurs processus d’automatisation. Pour visualiser ou copier le texte d’un exemple PowerShell, utilisez les liens fournis dans cette section.
Vous pouvez aussi télécharger l’intégralité du dossier GitHub PowerBI-Developer-Samples
.
Exemple PowerShell
Cette section décrit un exemple de script PowerShell qui déploie un modèle sémantique, un rapport et un tableau de bord, depuis la phase de développement jusqu’à la phase de test. Le script vérifie ensuite si le déploiement a réussi.
Pour exécuter un script PowerShell qui effectue un déploiement, vous avez besoin des composants suivants. Vous pouvez ajouter un ou plusieurs de ces composants dans des tâches de vos phases du pipeline Azure.
S'identifier – Avant de pouvoir déployer votre contenu, vous devez vous connecter à Fabric à l'aide d'un principal de service ou d'un utilisateur. Utilisez la commande Connect-PowerBIServiceAccount pour vous connecter.
Construisez le corps de votre requête – Dans cette partie du script, vous spécifiez les éléments (tels que les rapports et les tableaux de bord) que vous déployez.
$body = @{ sourceStageOrder = 0 # The order of the source stage. Development (0), Test (1). datasets = @( @{sourceId = "Insert your dataset ID here" } ) reports = @( @{sourceId = "Insert your report ID here" } ) dashboards = @( @{sourceId = "Insert your dashboard ID here" } ) options = @{ # Allows creating new item if needed on the Test stage workspace allowCreateArtifact = $TRUE # Allows overwriting existing item if needed on the Test stage workspace allowOverwriteArtifact = $TRUE } } | ConvertTo-Json
Déployer : ici, vous effectuez le déploiement.
$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here" $deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json
(Facultatif) Notification d’achèvement du déploiement : comme l’API de déploiement est asynchrone, vous pouvez programmer le script pour vous avertir quand le déploiement est terminé.
$url = "pipelines/{0}/Operations/{1}" -f "Insert you pipeline ID here",$deployResult.id $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json while($operation.Status -eq "NotStarted" -or $operation.Status -eq "Executing") { # Sleep for 5 seconds Start-Sleep -s 5 $operation = Invoke-PowerBIRestMethod -Url $url -Method Get | ConvertFrom-Json }
Considérations et limitations
Le déploiement à l'aide d'API est soumis aux mêmes limitations que l'interface utilisateur des pipelines de déploiement.
Un principal de service ne peut pas configurer des informations d’identification OAuth. Une fois que vous avez déployé les nouveaux éléments, le principal de service connecté devient le propriétaire de tous les modèles sémantiques et rapports paginés déployés. Dans ce cas, une actualisation ne peut pas être effectuée.
Le déploiement de flux de données à l’aide d’un principal de service n’est pas pris en charge.
Le nombre maximal d'éléments pouvant être déployés dans un seul déploiement est de 300.
Les API des pipelines de déploiement ne prennent actuellement en charge que les éléments Power BI.
La création d'un pipeline personnalisé de 2 à 10 étapes est actuellement prise en charge uniquement via l'interface utilisateur.