【发布时间】:2020-06-26 17:40:50
【问题描述】:
Power BI API 之一是按 ID 获取数据集。有人可以阐明从工作区获取数据集表的命令语法吗?谢谢。
GET https://api.powerbi.com/groups/{workspace ID}/datasets/{dataset ID}/{TableName} ?
【问题讨论】:
标签: powerbi
Power BI API 之一是按 ID 获取数据集。有人可以阐明从工作区获取数据集表的命令语法吗?谢谢。
GET https://api.powerbi.com/groups/{workspace ID}/datasets/{dataset ID}/{TableName} ?
【问题讨论】:
标签: powerbi
如果您正在寻找一种方法来获取表的架构(列列表),目前 API 不提供执行此操作的方法。可能假设这个数据集是使用 API 创建的,所以你应该知道你创建了什么。如果要获取数据集中的表列表,可以像这样使用https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/tables:
private void GetDatasetById(string accessToken, string groupId, string datasetId)
{
string powerBIDatasetsApiUrl = $"https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datasets/{datasetId}/tables";
var request = WebRequest.Create(powerBIDatasetsApiUrl) as HttpWebRequest;
request.KeepAlive = true;
request.Method = "GET";
request.ContentLength = 0;
request.ContentType = "application/json";
request.Headers.Add("Authorization", $"Bearer {accessToken}");
using (HttpWebResponse httpResponse = request.GetResponse() as System.Net.HttpWebResponse)
{
using (StreamReader reader = new System.IO.StreamReader(httpResponse.GetResponseStream()))
{
MessageBox.Show(reader.ReadToEnd());
}
}
}
【讨论】:
您可以使用 GetTables 方法来检索表及其对应的元数据,但它只支持推送数据集。
https://docs.microsoft.com/en-us/rest/api/power-bi/pushdatasets/datasets_gettables
使用 .NET 客户端时,语法为:
using (var client = new PowerBIClient(new Uri(_apiUrl), _credentials))
{
var tables = client.Datasets.GetTables(_datasetId);
}
【讨论】: