结合使用 Power BI SDK 和服务主体配置文件
- 版本 :2023.1(当前版本)
结合使用 Power BI SDK 和服务主体配置文件
本文介绍如何结合使用 SDK 和服务主体配置文件。 有两种方法可将 Power BI 客户端连接到服务主体配置文件。 可以:
创建具有配置文件对象 ID 的客户端
在 API 请求调用中指定配置文件 ID
客户端与配置文件关联后,可从 Power BI 客户端获取当前服务主体配置文件。
使用服务主体配置文件创建 Power BI 客户端
C#
var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26");
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);
创建具有配置文件对象 ID 的 Power BI 客户端时,将发出使用该客户端的每个 API 调用并在请求标头中包含 X-PowerBI-profile-id
。
例如,
HTTP
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
调用 API 请求时设置配置文件
或者,可以使用 API 的重载 PowerBIClient 方法 WithHttpMessagesAsync
中的 customHeaders
属性在 API 请求中指定配置文件 ID。
C#
var powerBIclient = new PowerBIClient(credentials);
var profileHeader = new Dictionarystring, Liststring>>();
profileHeader.Add("X-PowerBI-profile-id", new Liststring> { "81f24a6d-7ebb-4478-99c7-2c36f7870a26" });
var groups = await powerBIclient.Groups.GetGroupsWithHttpMessagesAsync(customHeaders: profileHeader);
例如,
HTTP
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
在这种情况下,配置文件标头将不会添加到客户端默认标头中。 需要在每个 API 请求中指定它。
请确保避免重复。 例如,创建包含配置文件对象 ID 的客户端并在 API 请求中指定标头将导致未经授权的错误。
从 Power BI 客户端获取当前服务主体配置文件
要从 SDK 客户端检索当前服务主体配置文件,请调用 GetServicePrincipalProfileObjectId
。
C#
var profileObjectId = new Guid("81f24a6d-7ebb-4478-99c7-2c36f7870a26");
var powerBIclient = new PowerBIClient(credentials, profileObjectId: profileObjectId);
var currentProfileObjectId = powerBIclient.GetServicePrincipalProfileObjectId();
注意事项和限制
实时连接模式下的 Azure Analysis Services (AAS) 不支持服务主体配置文件。