【发布时间】:2019-05-28 18:01:11
【问题描述】:
从announcement about XMLA endpoints 开始,我一直在尝试弄清楚如何通过 Python 连接到 powerbi://api.powerbi.com/v1.0/myorg/[workspace name] 形式的 URL 作为 SSAS OLAP 多维数据集,但我没有任何工作。
我有一个高级容量的工作区,我可以使用 DAX Studio 以及 SSMS 作为explained here 连接到它,但我还没有弄清楚如何使用 Python 来实现。我已尝试安装 olap.xmla,但当我尝试使用 Power BI URL 作为位置时,使用powerbi 或https 作为前缀时出现以下错误。
import olap.xmla.xmla as xmla
p = xmla.XMLAProvider()
c = p.connect(location="powerbi://api.powerbi.com/v1.0/myorg/[My Workspace]")
[...]
TransportError: Server returned HTTP status 404 (no content available)
我确信这涉及到身份验证问题,但在这里我有点不太了解。我是否需要在 ActiveDirectory 中设置一个“应用程序”并以某种方式使用 API?这种连接如何处理身份验证?
如果有人知道任何博客文章或其他资源来演示如何专门使用 Python 连接到 Power BI XMLA 端点,那将是惊人的。我的搜索失败了,但我肯定不会是唯一一个尝试这样做的人。
【问题讨论】:
-
我们的团队使用 olap.xmla 连接到 Mondrian,但我们还没有尝试连接到 PBI,所以我在这里也超出了我的深度。尝试使用常识,因为 python 是第 3 方工具,您需要提供登录凭据。您是否尝试过类似的方法: p.connect(location="powerbi://api.powerbi.com/v1.0/myorg/[My Workspace]", username="blah", password="blah") ?跨度>
-
使用 DAX Studio 和 SSMS 进行连接,我得到了一个 OAuth 重定向来登录。我讨厌明文形式的凭据,但我认为值得一试,看看它是否有效。
-
我明白了,这里也是。但我会先尝试一下,以确保您可以建立连接,然后看看如何在 python 中获得相同的 OAuth 重定向。
-
@RADO,我确实找到了不需要明文的解决方案!