You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Azure Synapse Pipelines触发PowerBI Datamart刷新?

触发PowerBI Datamart自动刷新的方案

可以通过Synapse Pipelines触发PowerBI Datamart的刷新,不过和数据集的API调用逻辑有差异,以下是具体实现方式:

1. 使用PowerBI REST API直接触发

Datamart有专属的刷新API端点,而非复用数据集的刷新接口:

  • API请求格式:
    POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/datamarts/{datamartId}/refresh
    
  • 核心配置:
    • 身份验证:和调用数据集API一致,可通过服务主体获取Bearer令牌(Synapse中可通过「Azure AD令牌」活动生成)
    • 权限要求:服务主体需拥有PowerBI工作区的Workspace Contributor及以上权限
    • 刷新参数:请求体可指定刷新类型,示例:
      {"type": "Full"} // 全量刷新
      // 或增量刷新(需提前在Datamart中配置增量规则)
      {"type": "Incremental"}
      

2. Synapse Pipeline中的实现步骤

在Synapse Pipeline里通过「Web活动」完成调用:

  • 新建Web活动,设置请求方法为POST
  • 填入替换了groupId和datamartId的API URL
  • 在请求头中添加Authorization字段,值为Bearer @{activity('获取PowerBI令牌').output.access_token}(需先添加「Azure AD令牌」活动获取令牌,资源URI填https://analysis.windows.net/powerbi/api)
  • 按需配置请求体的刷新类型参数

3. 针对同工作区Synapse专用SQL池数据源的优化方案

因为你的Datamart数据源是同工作区的专用SQL池,可联动优化:

  • 先在Synapse Pipeline中完成专用SQL池的数据更新(比如ETL任务)
  • 再触发Datamart刷新,确保数据一致性
  • 若无需和Pipeline强联动,也可直接在PowerBI中给Datamart配置计划刷新,但API触发更适合和Synapse的调度逻辑绑定

内容的提问来源于stack exchange,提问作者datatalian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 23:55:03