Top
Photo by Scott Graham on Unsplash

Dostęp do danych instancji Power Automate Desktop


Ten post jest całkowicie poświęcony opisowi struktury Dataverse używanej do przechowywania szczegółów dotyczących uruchomień wszystkich przepływów Power Automate Desktop. Lub jak dziś są nazywane: cloud flows i desktop flows utworzone przy użyciu platformy Power Automate.

Opisane poniżej funkcjonalności dotyczące wizualizacji danych z instancji przepływów, prezentowania statystyk i dogłębnych insightów to bardzo pożądane dane wymagane przez biznes i IT. Działy wymagają od projektantów RPA dostarczenia tych informacji, aby wiedzieli, co faktycznie robią boty, dlaczego zawodzą, gdzie są wąskie gardła, gdzie działają itp. Warto poświęcić trochę czasu na zbudowanie precyzyjnych dashboardów.

Struktura Dataverse

Poniższa struktura jest faktycznie używana do przechowywania informacji o wszystkich rodzajach przepływów, które użytkownik może zbudować za pomocą usługi Power Automate: zwykłe przepływy (cloud flows), przepływy biznesowe i desktop flows:

Dataverse structure/ tables to store data about flows' runs

W rzeczywistości powyżej są tylko dwie faktyczne tabele. Trzecia, additionalcontext to dynamicznie zbudowana tabela przy użyciu zawartości pliku dołączonego do każdego rekordu w tabeli flowsessions. Pozwól, że to wyjaśnię.

  1. workflows (nazwa wyświetlana: Process) – tabela przechowuje wszystkie informacje o wszystkich przepływach zbudowanych w Power Automate, w określonym środowisku. Aby odfiltrować przepływy dla komputerów i stron internetowych od wszystkich innych rodzajów przepływów , musisz użyć kolumny category i pobrać wszystkie wiersze o wartości równej 6. Następnie, aby dalej filtrować, użyj kolumny uiflowtype i pobierz wszystkie wiersze o wartości większej lub równej 0:
    1. 0 to stare przepływy UI flows (w tym przepływy WinAutomation wyzwalane przez przepływy UI flows),
    2. 1 to stare przepływy Selenium IDE dla sieci Web,
    3. 2 nazywane są PowerShell, jednak są to nowe przepływy Power Automate Desktop.
  2. flowessions (nazwa wyświetlana : Flow Session) – tabela przechowuje szczegóły dotyczące instancji każdego przepływu. Jedną z bardzo ważnych kolumn, które ma ta tabela, jest „additionalcontext”, która zawiera …
  3. additionalcontext (nie jest to tabela Dataverse, ale plik dołączony do każdego wpisu w flowessions) – jest to plik zawierający obiekt JSON zakodowany algorytmem base64 . Obiekt przechowuje wszystkie informacje o tym konkretnym przebiegu, w tym szczegóły dotyczące wykonania każdej akcji. Korzystając z tych danych, możesz uzyskać kluczowe informacje o tym, jak działa instancja, która akcja się nie powiodła, jaka była przyczyna niepowodzenia, jakie były dane wejściowe i wyjściowe dla każdej akcji itp …

Jak uzyskać dostęp do danych?

Istnieją dwa sposoby na dostęp do danych instancji Power Automate Desktop. Może się to odbyć przez bezpośrednie wysyłanie zapytań do tabel Dataverse lub przy użyciu punktów końcowych odata.

Uwaga! Aby uzyskać adres URL środowiska, zaloguj się na https://admin.powerplatform.microsoft.com, otwórz to, do którego chcesz uzyskać dostęp i skopiuj wartość z pola „Environment URL”.

Adresy URL punktów końcowych odata znajdują się poniżej:

  • https://{ENVIRONMENT-URL}/api/data/v9.1/workflows?$filter=category eq 6
  • https://{ENVIRONMENT-URL}/api/data/v9.1/flowsessions
  • https://{ENVIRONMENT-URL}//api/data/v9.1/flowsessions({flowsessionid})/additionalcontext

Uzyskaj dostęp do danych w usłudze Power Automate

Jedyną trudnością w uzyskaniu dostępu do tych danych w usłudze Power Automate jest pobranie zawartości pliku z kolumny additionalcontext. Korzystając z wbudowanych akcji Dataverse, dostęp do zawartości plików jest możliwy tylko przy użyciu akcji „Pobierz plik lub obraz” (która działa tylko w bieżącym środowisku i jest dostępna tylko dla przepływów utworzonych w solucjach): Common Data Service (bieżące środowisko) – Łączniki | Dokumenty Microsoft.

Jeśli chcesz uzyskać dostęp z innego środowiska, musisz użyć akcji „Invoke HTTP with Azure AD”. Skonfiguruj dostęp, podając adres URL środowiska:

Następnie po prostu użyj endpointa odata i voilla! 🙂

Dalsze kroki

​​Ważne! Niestety ze względu na niemożność dostępu do zawartości plików w Dataverse przy użyciu adresu URL środowiska przekazanego jako zmienna (akcja Dataverse działa tylko dla bieżącego środowiska, podczas gdy HTTP z Azure wymaga wcześniejszego zdefiniowania adresu URL, ten sam problem w Power Bi) musisz zakodować na stałe URL każdego środowisko, które chcesz monitorować.

Po całym tym wprowadzeniu zachęcam teraz do korzystania z Power Bi, do wizualizacji danych z przebiegów przepływów interfejsu użytkownika. Jednak aby zebrać dane z wielu środowisk, będziesz musiał utworzyć połączenia z każdym z nich osobno.

Wersja robocza raportu, której używam, zawiera informacje o wszystkich szczegółach konkretnego wystąpienia przepływu interfejsu użytkownika:

Następna strona raportu zawiera ogólne informacje o statystykach (akcjach, błędach), wraz z obliczeniami dotyczącymi czasu wykonania akcji itp.:

Power Bi daje oczywiście nieograniczone możliwości, więc sposób wykorzystania tych danych jest ograniczony jedynie Twoją kreatywnością.

Uwaga! Wiele z powyższych funkcji jest dostępnych w dashboardzie Center of Excellence Starter Kit. Po prostu pobierz i zainstaluj w swoim środowisku Power Platform. Pobierz go tutaj: https://aka.ms/coestarterkit.

Mam nadzieję, że po wykładzie w tym wpisie już teraz będziesz wiedział, jak rozpocząć swoją przygodę z danymi o flow i budować własne dashboardy. Jeśli masz jakieś pytania, zostaw je w komentarzach poniżej.


Tomasz Poszytek

Cześć! Nazywam się Tomasz. Jestem ekspertem w dziedzinie automatyzacji procesów i budowaniu rozwiązań dla biznesu z użyciem Power Platform. Jestem Microsoft MVP i Nintex vTE.

Brak komentarzy

Wyślij komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.