Sdílet prostřednictvím


Použití sady Power BI SDK s profily instančních objektů

Tento článek vysvětluje, jak používat sadu SDK s profily instančního objektu. Existují dva způsoby připojení klienta Power BI k profilu instančního objektu. Můžete provádět následující akce:

Jakmile je klient přidružený k profilu, můžete z klienta Power BI získat aktuální profil instančního objektu.

Vytvoření klienta Power BI s profilem instančního objektu

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

Když vytvoříte klienta Power BI s ID objektu profilu, každé volání rozhraní API, které používá klienta, má X-PowerBI-profile-id v hlavičce požadavku.

Příklad:

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

Nastavení profilu volání požadavku rozhraní API

Alternativně můžete zadat ID profilu v požadavku rozhraní API pomocí customHeaders vlastnosti v přetížené metodě WithHttpMessagesAsyncPowerBIClient rozhraní 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); 

Příklad:

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 

V předchozí ukázce kódu není hlavička profilu součástí výchozích hlaviček klienta, protože kód nepřidá hlavičku profilu. Musíte zadat hlavičku profilu s každým požadavkem rozhraní API.

Ujistěte se, že se vyhnete duplikacím. Například vytvoření klienta s ID objektu profilu a zadání hlavičky s požadavkem rozhraní API způsobí neoprávněné chyby.

Získání aktuálního profilu instančního objektu z klienta Power BI

Pokud chcete načíst aktuální profil instančního objektu z klienta sady SDK, zavolejte GetServicePrincipalProfileObjectId.

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

Úvahy a omezení

V režimu živého připojení není k dispozici žádná podpora profilů instančních objektů ve službě Azure Analysis Services (AAS).