如何在Azure Synapse笔记本或ADF中连接Power BI数据集并执行DMV?
能否在Azure Synapse笔记本或Azure Data Factory中连接Power BI数据集并执行DMV?
Azure Synapse笔记本
- 完全可以实现,核心是通过Power BI的XMLA端点建立连接,配合Azure AD身份验证来执行DMV查询。前提是你的Power BI工作区需启用XMLA读写权限(依赖Premium或PPU容量)。
- 具体操作示例:
- 先在笔记本中确保安装了
pyodbc库(未安装的话可执行!pip install pyodbc)。 - 构建连接字符串并执行查询:
import pyodbc import pandas as pd # 替换为你的工作区和数据集名称 conn_str = "Driver={ODBC Driver 17 for SQL Server};Server=powerbi://api.powerbi.com/v1.0/myorg/你的工作区名称;Database=你的数据集名称;Authentication=ActiveDirectoryIntegrated" conn = pyodbc.connect(conn_str) # 执行DMV查询 dmv_query = "select * from $System.TMSCHEMA_MEASURES" result_df = pd.read_sql(dmv_query, conn) display(result_df)
- 先在笔记本中确保安装了
Azure Data Factory
- 同样支持连接Power BI数据集并执行DMV,可通过Lookup活动或Script活动实现。
- 关键步骤:
- 创建SQL Server类型的链接服务,配置信息如下:
- 服务器地址:
powerbi://api.powerbi.com/v1.0/myorg/你的工作区名称 - 数据库名称:你的数据集名称
- 身份验证方式选择Azure AD集成或服务主体(需确保该身份有Power BI数据集访问权限)
- 服务器地址:
- 创建关联上述链接服务的数据集。
- 添加Lookup活动,在查询输入框中填入DMV语句
select * from $System.TMSCHEMA_MEASURES,执行后即可获取查询结果用于后续数据流程。
- 创建SQL Server类型的链接服务,配置信息如下:
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

