Automatyzowanie potoku wdrażania przy użyciu interfejsów API i usługi Azure DevOps
Narzędzie potoków wdrażania usługi Microsoft Fabric umożliwia zespołom analizy biznesowej tworzenie wydajnego i wielokrotnego użytku procesu wydawania zawartości sieci szkieletowej.
Ważne
Usługa Microsoft Fabric jest dostępna w wersji zapoznawczej.
W celu zapewnienia ciągłej integracji i ciągłego dostarczania zawartości wiele organizacji korzysta z narzędzi automatyzacji, w tym usługi Azure DevOps. Organizacje korzystające z usługi Azure DevOps mogą używać rozszerzenia narzędzi automatyzacji usługi Power BI , które obsługuje wiele operacji interfejsu API potoków wdrażania.
Możesz użyć potoków wdrażania Interfejsy API REST sieci szkieletowej , aby zintegrować sieć szkieletową z procesem automatyzacji organizacji. Oto kilka przykładów tego, co można zrobić przy użyciu interfejsów API:
Zarządzanie potokami od początku do końca, w tym tworzenie potoku, przypisywanie obszaru roboczego do dowolnego etapu oraz wdrażanie i usuwanie potoku.
Przypisz i anuluj przypisanie użytkowników do i z potoku.
Zintegruj usługę Fabric z znanymi narzędziami DevOps, takimi jak Azure DevOps lub GitHub Actions.
Zaplanuj automatyczne wdrażanie potoków w określonym czasie.
Wdróż wiele potoków jednocześnie.
Kaskada w zależności od wdrożeń potoków. Jeśli masz zawartość połączoną między potokami, możesz upewnić się, że niektóre potoki są wdrażane przed innymi.
Funkcje interfejsu API potoków wdrażania
Uwaga
Interfejsy API potoków wdrażania działają obecnie tylko dla elementów usługi Power BI.
Potoki wdrażania Interfejsy API REST sieci szkieletowej umożliwiają wykonywanie następujących funkcji:
Pobieranie informacji o potoku — pobieranie informacji o potokach i ich zawartości. Uzyskiwanie informacji o potoku umożliwia dynamiczne tworzenie wywołań interfejsu API wdrażania. Możesz również sprawdzić stan wdrożenia lub historię wdrożenia.
Wdrażanie — wywołania REST umożliwiają deweloperom korzystanie z dowolnego typu wdrożenia dostępnego w usłudze Fabric.
Tworzenie i usuwanie potoków — użyj polecenia Utwórz potok i Usuń potok , aby wykonać te operacje.
Zarządzanie obszarami roboczymi — przy użyciu polecenia Przypisz obszar roboczy i Conapij obszar roboczy można przypisać i cofnąć przypisywanie obszarów roboczych do określonych etapów potoku.
Zarządzanie użytkownikami - potokuUsuwanie użytkownika potoku umożliwia usunięcie użytkownika z potoku. Użytkownik potoku aktualizacji umożliwia dodanie użytkownika do potoku.
Które wdrożenia są obsługiwane przez interfejsy API?
Oto lista różnych typów wdrożeń, które obsługują interfejsy API:
Wdróż wszystko — pojedyncze wywołanie interfejsu API, które wdraża całą zawartość w obszarze roboczym do następnego etapu potoku. W przypadku tej operacji użyj polecenia Wdróż cały interfejs API.
Wdrażanie selektywne — wdraża tylko określone elementy, takie jak raporty lub pulpity nawigacyjne, w potoku. W przypadku tej operacji użyj interfejsu API wdrażania selektywnego .
Wdrażanie do tyłu — wdraża nowe elementy na poprzednim etapie. Wdrożenie do tyłu działa tylko wtedy, gdy elementy wdrożone jeszcze nie istnieją na etapie docelowym. W przypadku tej operacji użyj interfejsu API Wdróż wszystkie lub Selektywne wdrażanie z ustawioną wartością
isBackwardDeployment
True
.Aktualizuj aplikację — w ramach wywołania interfejsu API wdrażania możesz zaktualizować zawartość aplikacji powiązanej z tym etapem. Zaktualizowane elementy są automatycznie dostępne dla użytkowników końcowych po zakończeniu wdrażania. W przypadku tej operacji użyj interfejsu API Wdróż wszystkie lub Selektywne wdrażanie z funkcją PipelineUpdateAppSettings.
Zanim rozpoczniesz
Przed użyciem interfejsów API potoków wdrażania upewnij się, że masz następujące elementy:
Jednostka usługi lub użytkownik, który będzie wywoływać interfejsy API, potrzebuje uprawnień potoku i obszaru roboczego oraz dostępu do aplikacji Azure AD.
Jeśli zamierzasz używać skryptów programu PowerShell, zainstaluj polecenia cmdlet programu PowerShell Install-Module MicrosoftPowerBIMgmt.
Integrowanie potoku z usługą Azure DevOps
Aby zautomatyzować procesy wdrażania z poziomu potoku wydania w usłudze Azure DevOps, użyj jednej z następujących metod:
PowerShell — skrypt loguje się do sieci szkieletowej przy użyciu jednostki usługi lub użytkownika.
Narzędzia automatyzacji usługi Power BI — to rozszerzenie działa z jednostką usługi lub użytkownikiem.
Możesz również użyć innych wywołań interfejsu API REST sieci szkieletowej , aby ukończyć powiązane operacje, takie jak importowanie pliku pbix do potoku, aktualizowanie źródeł danych i parametrów.
Korzystanie z rozszerzenia narzędzi automatyzacji usługi Power BI
Rozszerzenie narzędzi automatyzacji usługi Power BI to rozszerzenie usługi Open source Azure DevOps, które udostępnia szereg operacji potoków wdrażania, które można wykonać w usłudze Azure DevOps. Rozszerzenie eliminuje potrzebę interfejsów API lub skryptów do zarządzania potokami. Każda operacja może służyć indywidualnie do wykonywania zadania, takiego jak tworzenie potoku. Operacje mogą być używane razem w potoku usługi Azure DevOps w celu utworzenia bardziej złożonego scenariusza, takiego jak tworzenie potoku, przypisywanie obszaru roboczego do potoku, dodawanie użytkowników i wdrażanie.
Po dodaniu rozszerzenia narzędzi automatyzacji usługi Power BI do metodyki DevOps należy utworzyć połączenie usługi. Dostępne są następujące połączenia:
Jednostka usługi (zalecane) — to połączenie uwierzytelnia się przy użyciu jednostki usługi i wymaga wpisu tajnego i identyfikatora aplikacji Azure AD. Jeśli używasz tej opcji, sprawdź, czy ustawienia administratora usługi dla jednostki usługi są włączone.
Nazwa użytkownika i hasło — skonfigurowane jako ogólne połączenie usługi z nazwą użytkownika i hasłem. Ta metoda połączenia nie obsługuje uwierzytelniania wieloskładnikowego. Zalecamy użycie metody połączenia jednostki usługi, ponieważ nie wymaga przechowywania poświadczeń użytkownika w usłudze Azure DevOps.
Uwaga
Rozszerzenie narzędzi automatyzacji usługi Power BI używa połączenia usługi Azure DevOps do przechowywania poświadczeń. Aby uzyskać więcej informacji, zobacz Jak przechowujemy poświadczenia dla Azure DevOps Services.
Po włączeniu połączenia usługi dla narzędzi automatyzacji usługi Power BI usługi Azure DevOps można tworzyć zadania potoku. Rozszerzenie obejmuje następujące zadania potoków wdrażania:
Tworzenie nowego potoku
Przypisywanie obszaru roboczego do etapu potoku
Dodawanie użytkownika do potoku wdrażania
Dodawanie użytkownika do obszaru roboczego
Wdrażanie zawartości w potoku wdrażania
Usuwanie obszaru roboczego z potoku wdrażania
Usuwanie potoku
Uzyskiwanie dostępu do przykładów programu PowerShell
Aby zrozumieć, jak wykonywać kilka procesów automatyzacji, możesz użyć następujących skryptów programu PowerShell. Aby wyświetlić lub skopiować tekst w przykładzie programu PowerShell, użyj linków w tej sekcji.
Możesz również pobrać cały PowerBI-Developer-Samples
folder GitHub.
Przykład programu PowerShell
W tej sekcji opisano przykładowy skrypt programu PowerShell, który wdraża zestaw danych, raport i pulpit nawigacyjny z etapu programowania do etapu testowania. Następnie skrypt sprawdza, czy wdrożenie zakończyło się pomyślnie.
Aby uruchomić skrypt programu PowerShell, który wykonuje wdrożenie, potrzebne są następujące składniki. Możesz dodać dowolną z tych części do zadań na etapach potoku platformy Azure.
Zaloguj się — zanim będzie można wdrożyć zawartość, musisz zalogować się do sieci szkieletowej przy użyciu jednostki usługi lub użytkownika. Użyj polecenia Connect-PowerBIServiceAccount , aby się zalogować.
Skompiluj treść żądania — w tej części skryptu określisz, które elementy (takie jak raporty i pulpity nawigacyjne) są wdrażane.
$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
Wdrażanie — w tym miejscu wykonasz wdrożenie.
$url = "pipelines/{0}/Deploy" -f "Insert you pipeline ID here" $deployResult = Invoke-PowerBIRestMethod -Url $url -Method Post -Body $body | ConvertFrom-Json
(Opcjonalnie) Powiadomienie o zakończeniu wdrażania — ponieważ interfejs API wdrażania jest asynchroniczny, można zaprogramować skrypt, aby powiadomić Cię o zakończeniu wdrażania.
$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 }
Istotne zagadnienia i ograniczenia
Wdrażanie przy użyciu interfejsów API podlega tym samym ograniczeniom co interfejs użytkownika potoków wdrażania.
Jednostka usługi nie może skonfigurować poświadczeń protokołu OAuth . Po wdrożeniu nowych elementów zalogowana jednostka usługi staje się właścicielem wszystkich wdrożonych raportów i zestawów danych podzielonych na strony. W takich przypadkach nie można ukończyć odświeżania.
Wdrażanie przepływów danych przy użyciu jednostki usługi nie jest obsługiwane.
Maksymalna liczba elementów, które można wdrożyć w jednym wdrożeniu, wynosi 300.
Interfejsy API potoków wdrażania obsługują obecnie tylko elementy usługi Power BI.