0

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

Power BI API 控制台检索数据集或表时我没有任何问题。

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

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

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

谢谢!

4

2 回答 2

1

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

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

让我在#3 上回复你。

于 2015-08-26T13:53:15.547 回答
1

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

于 2015-08-26T16:13:53.723 回答