无论是否使用ApiaryIO

时间:2015-08-26 02:03:53

标签: powerbi apiary.io

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

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

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

这是我第一次使用Apiary IO,因此可能是它的问题,而不是Power BI更新,但这引出了一些问题:

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

2 个答案:

答案 0 :(得分:1)

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

您在表格中提供的名称是您在构建报告时在界面中显示的友好的人类可读名称。没有它,人类就无法使用该系统:)。

让我在#3上回复你。

答案 1 :(得分:1)

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