Power BI API-按ID获取数据集

时间:2018-11-14 14:56:32

标签: powerbi

Power BI API之一是通过ID获取数据集。有人可以阐明命令语法从工作区获取数据集表的情况吗?谢谢。

获取https://api.powerbi.com/groups/ {工作区ID} /数据集/ {数据集ID} / {TableName}吗?

2 个答案:

答案 0 :(得分:1)

如果您正在寻找一种获取表的架构(列列表)的方法,那么该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());
            }
        }
    }

答案 1 :(得分:0)

您可以使用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);
}