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ě WithHttpMessagesAsync
PowerBIClient 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).