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:
- Tworzenie klienta z identyfikatorem obiektu profilu
- Określanie identyfikatora profilu w wywołaniu żądania interfejsu API
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 WithHttpMessagesAsync
PowerBIClient 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).