【问题标题】:Unable to update a Power BI table schema through the API with or without ApiaryIO无论是否使用 ApiaryIO,都无法通过 API 更新 Power BI 表架构
【发布时间】:2015-08-26 02:03:53
【问题描述】:

我正在使用 Power BI API。 我有一个包含一些表和行的数据集。

来自Power BI API Console 我在检索数据集或表时没有任何问题。

但是,用于更新其架构的表资源上的 PUT 动词始终返回 504 - 代理请求超时

这是我第一次使用 Apiary IO,所以可能是它的问题,而不是 Power BI 更新,但这让我产生了一些问题:

  1. 是否有任何解决方法来测试 Power BI,例如 Fiddler?我可以输入 url 和正文,但如果我没记错的话,我需要一个带有 OAuth2 令牌的 Authorization 标头。我怎么能得到那个? ApiaryIO 似乎隐藏了它。
  2. 根据Update Schema Documentation,资源的URL是https://api.powerbi.com/v1.0/myorg/datasets/{myDatasetId}/tables/{myTableName} 动词是PUT。那么 JSON 正文中的 "name": "???" 参数的含义是什么?是表名还是其他什么?我假设它是表名,但它似乎是多余的,因为我已经按照给定的 URL 访问了资源 {myTableName}
  3. 我的最后一个相关问题是如何在不修改其数据的情况下重命名特定表的列?这是我试图通过更新架构来实现的目标,但我不明白 Power BI 如何知道我要重命名的列。

谢谢!

【问题讨论】:

    标签: powerbi apiary.io


    【解决方案1】:

    很抱歉,您遇到了麻烦。您可以通过两种方式获取令牌——正确的方式是在 AAD (here's how) 中创建应用程序。错误的方法 ;) 是打开 Power BI.com 服务,在浏览器中打开 fiddler,然后按 F5 重新加载。您应该能够在各种请求中看到访问令牌。如果您注册了一个应用程序,您可以将您的应用程序信息插入我们提供的示例之一https://powerbi.microsoft.com/developers,请参阅客户端应用程序或网络应用程序。

    您在表格中提供的名称是在您构建报表时显示在 UI 中的易读名称。没有它,系统将无法被人类使用:)。

    让我在#3 上回复您。

    【讨论】:

      【解决方案2】:

      调用 PUT 表将尝试保存升级表而不会丢失任何数据(除非您删除了列)。如果不能,它将返回冲突错误。如果您仍想更新表架构,则必须删除行并再次调用 PUT 表。当前没有直接重命名列的方法。 PUT 表会将其视为对该列的删除和添加。您会丢失该列中的数据,但不会丢失整个表。

      【讨论】:

        猜你喜欢
        • 2019-05-29
        • 1970-01-01
        • 1970-01-01
        • 2020-11-05
        • 1970-01-01
        • 1970-01-01
        • 2022-08-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多