Śledzenie działań użytkowników w usłudze Power BI
Wiedza na temat tego, kto podejmuje jakie działania w usłudze Power BI może mieć kluczowe znaczenie dla ułatwienia organizacji spełnienia wymagań, takich jak spełnianie wymagań dotyczących zgodności z przepisami i zarządzania rekordami. W tym artykule omówiono dziennik aktywności usługi Power BI oparty na interfejsach API REST usługi Power BI.
Możesz śledzić działania użytkowników usługi Microsoft Fabric, w tym operacje usługi Power BI, przy użyciu dziennika inspekcji.
Wymagania wstępne
Musisz być administratorem sieci szkieletowej.
Zainstaluj polecenia cmdlet zarządzania usługi Power BI lokalnie lub użyj poleceń cmdlet zarządzania usługą Power BI w usłudze Azure Cloud Shell.
Dziennik aktywności
Dziennik aktywności usługi Power BI zawiera pełną kopię działań usługi Power BI w tablicy JSON. Listę wszystkich działań usługi Power BI można znaleźć na liście operacji sieci szkieletowej.
ActivityEvents REST API
Możesz użyć aplikacji administracyjnej opartej na interfejsach API REST usługi Power BI, aby wyeksportować zdarzenia aktywności do magazynu obiektów blob lub bazy danych SQL. Następnie możesz utworzyć niestandardowy raport użycia na podstawie wyeksportowanych danych. W wywołaniu interfejsu API REST ActivityEvents należy określić datę rozpoczęcia i datę zakończenia oraz opcjonalnie filtr, aby wybrać działania według typu działania lub identyfikatora użytkownika. Ponieważ dziennik aktywności może zawierać dużą ilość danych, interfejs API ActivityEvents obecnie obsługuje pobieranie maksymalnie jednego dnia danych na żądanie. Innymi słowy, data rozpoczęcia i data zakończenia muszą określać ten sam dzień, co w poniższym przykładzie. Upewnij się, że określono DateTime
wartości w formacie uniwersalnego czasu koordynowanego (UTC).
https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2019-08-31T00:00:00'&endDateTime='2019-08-31T23:59:59'
Jeśli liczba wpisów jest duża, interfejs API ActivityEvents zwraca tylko około 5000 do 10 000 wpisów i token kontynuacji. Ponownie wywołaj interfejs API ActivityEvents przy użyciu tokenu kontynuacji, aby pobrać kolejną partię wpisów i tak dalej, dopóki nie otrzymasz wszystkich wpisów i nie otrzymasz już tokenu kontynuacji. W poniższym przykładzie pokazano, jak używać tokenu kontynuacji:
https://api.powerbi.com/v1.0/myorg/admin/activityevents?continuationToken='%2BRID%3ARthsAIwfWGcVAAAAAAAAAA%3D%3D%23RT%3A4%23TRC%3A20%23FPC%3AARUAAAAAAAAAFwAAAAAAAAA%3D'
Jeśli wyniki zawierają token kontynuacji, kontynuuj wywoływanie interfejsu API przy użyciu tego tokenu, aby uzyskać resztę danych, dopóki token kontynuacji nie zostanie już zwrócony. Wywołanie może zwrócić token kontynuacji bez żadnych wpisów zdarzeń. W poniższym przykładzie pokazano, jak utworzyć pętlę z tokenem kontynuacji zwróconym w odpowiedzi:
while(response.ContinuationToken != null)
{
// Store the activity event results in a list for example
completeListOfActivityEvents.AddRange(response.ActivityEventEntities);
// Make another call to the API with continuation token
response = GetPowerBIActivityEvents(response.ContinuationToken)
}
completeListOfActivityEvents.AddRange(response.ActivityEventEntities);
Jeśli przedział czasu między startDateTime
i endDateTime
przekracza 1 godzinę, pobieranie danych w continuationUri
odpowiedzi wymaga wielu żądań.
W poniższym przykładzie pokazano, jak pobrać dane przez 1 godzinę i 5 minut:
GET https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?startDateTime='2020-08-13T07:55:00Z'&endDateTime='2020-08-13T09:00:00Z'
{
"activityEventEntities": […],
"continuationUri": https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?continuationToken='LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D',
"continuationToken": "LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D",
"lastResultSet": false
}
GET https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?continuationToken='LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D'
{
"activityEventEntities": [],
"continuationUri": null,
"continuationToken": null,
"lastResultSet": false
}
Aby dowiedzieć się więcej na temat korzystania z interfejsu API REST usługi Power BI, w tym przykładów sposobu uzyskiwania zdarzeń działania inspekcji, zobacz Dokumentację referencyjną interfejsu API REST usługi Power BI — Uzyskiwanie zdarzeń aktywności.
Polecenie cmdlet Get-PowerBIActivityEvent
Pobieranie zdarzeń działań przy użyciu poleceń cmdlet zarządzania usługi Power BI dla programu PowerShell. Polecenie cmdlet Get-PowerBIActivityEvent automatycznie obsługuje token kontynuacji. Polecenie Get-PowerBIActivityEvent
cmdlet przyjmuje parametr StartDateTime i EndDateTime z tymi samymi ograniczeniami co interfejs API REST ActivityEvents. Innymi słowy, data rozpoczęcia i data zakończenia muszą odwoływać się do tej samej wartości daty, ponieważ dane aktywności można pobrać tylko przez jeden dzień w danym momencie.
Poniższy skrypt przedstawia sposób pobierania wszystkich działań usługi Power BI. Polecenie konwertuje wyniki z formatu JSON na obiekty platformy .NET w celu uzyskania prostego dostępu do poszczególnych właściwości działania. Te przykłady pokazują najmniejsze i największe znaczniki czasu możliwe przez jeden dzień, aby upewnić się, że żadne zdarzenia nie zostaną pominięte:
Login-PowerBI
$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' | ConvertFrom-Json
$activities.Count
$activities[0]
Filtrowanie danych działań
Zdarzenia aktywności można filtrować według typu działania i identyfikatora użytkownika. Poniższy skrypt pokazuje, jak pobrać tylko dane zdarzenia dla działania ViewDashboard . Aby uzyskać dodatkowe informacje o obsługiwanych parametrach, użyj polecenia Get-Help Get-PowerBIActivityEvent
.
Login-PowerBI
$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' -ActivityType 'ViewDashboard' | ConvertFrom-Json
$activities.Count
$activities[0]
Uwaga
Dostępny jest przykład programu PowerShell, który ułatwia filtrowanie i pobieranie zdarzeń dziennika aktywności usługi Power BI. Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do dziennika aktywności usługi Power BI.