Używanie zestaw SDK usługi Power BI z profilami jednostki usługi

W tym artykule wyjaśniono, jak używać zestawu SDK z profilami jednostki usługi. Istnieją dwa sposoby łączenia klienta usługi Power BI z profilem jednostki usługi. Masz następujące możliwości:

Po skojarzeniu klienta z profilem można pobrać bieżący profil jednostki usługi z klienta usługi Power BI.

Tworzenie klienta usługi Power BI przy użyciu profilu jednostki usługi

var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26"); 
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);

Podczas tworzenia klienta usługi Power BI z identyfikatorem obiektu profilu każde wywołanie interfejsu API używające klienta ma X-PowerBI-profile-id wartość w nagłówku żądania.

Na przykład:

GET https://powerbiapi.analysis-df.windows.net/v1.0/myorg/groups


Authorization: Bearer eyJ0eXAiO.....5U_g
X-PowerBI-profile-id: 81f24a6d-7ebb-4478-99c7-2c36f7870a26

Ustawianie profilu w wywołaniu żądania interfejsu API

Alternatywnie można określić identyfikator profilu w żądaniu interfejsu API przy użyciu customHeaders właściwości w przeciążonej metodzie WithHttpMessagesAsyncPowerBIClient interfejsu API.

var powerBIclient = new PowerBIClient(credentials); 
var profileHeader = new Dictionary<string, List<string>>(); 
profileHeader.Add("X-PowerBI-profile-id", new List<string> { "81f24a6d-7ebb-4478-99c7-2c36f7870a26" }); 
var groups = await powerBIclient.Groups.GetGroupsWithHttpMessagesAsync(customHeaders: profileHeader); 

Przykład:

GET https://powerbiapi.analysis-df.windows.net/v1.0/myorg/groups 

Authorization: Bearer eyJ0eXAiO.....5U_g 
X-PowerBI-profile-id: 81f24a6d-7ebb-4478-99c7-2c36f7870a26 

W poprzednim przykładzie kodu nagłówek profilu nie jest częścią domyślnych nagłówków klienta, ponieważ kod nie dodaje nagłówka profilu. Musisz określić nagłówek profilu z każdym żądaniem interfejsu API.

Upewnij się, że unikasz duplikowania. Na przykład utworzenie klienta z identyfikatorem obiektu profilu, a następnie określenie nagłówka za pomocą żądania interfejsu API powoduje nieautoryzowane błędy.

Pobieranie bieżącego profilu jednostki usługi z klienta usługi Power BI

Aby pobrać bieżący profil jednostki usługi z klienta zestawu SDK, wywołaj metodę GetServicePrincipalProfileObjectId.

var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26"); 
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId); 
var currentProfileObjectId = powerBIclient.GetServicePrincipalProfileObjectId(); 

Rozważania i ograniczenia

W trybie połączenia na żywo nie ma obsługi profilów jednostek usługi za pomocą usług Azure Analysis Services (AAS).