Menggunakan SDK Power BI dengan profil perwakilan layanan
Artikel ini menjelaskan cara menggunakan SDK dengan profil perwakilan layanan. Ada dua cara untuk menghubungkan klien Power BI ke profil perwakilan layanan. Anda dapat:
Setelah klien dikaitkan dengan profil, Anda dapat memperoleh profil perwakilan layanan saat ini dari klien Power BI.
Membuat klien Power BI dengan profil perwakilan layanan
var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26");
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);
Saat Anda membuat klien Power BI dengan ID objek profil, setiap panggilan API yang menggunakan klien memiliki X-PowerBI-profile-id
di header permintaan.
Contohnya:
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
Mengatur profil pada panggilan permintaan API
Atau, Anda dapat menentukan ID profil dalam permintaan API dengan menggunakan customHeaders
properti dalam metode WithHttpMessagesAsync
PowerBIClient API yang kelebihan beban .
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);
Contohnya,
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
Dalam sampel kode sebelumnya, header profil bukan bagian dari header default klien, karena kode tidak menambahkan header profil. Anda perlu menentukan header profil dengan setiap permintaan API.
Pastikan Anda menghindari duplikasi. Misalnya, membuat klien dengan ID objek profil lalu menentukan header dengan permintaan API menghasilkan kesalahan yang tidak sah.
Mendapatkan profil perwakilan layanan saat ini dari klien Power BI
Untuk mengambil profil perwakilan layanan saat ini dari klien SDK, panggil GetServicePrincipalProfileObjectId
.
var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26");
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);
var currentProfileObjectId = powerBIclient.GetServicePrincipalProfileObjectId();
Pertimbangan dan batasan
Tidak ada dukungan untuk profil perwakilan layanan dengan Azure Analysis Services (AAS) dalam mode koneksi langsung.