SuperAPI AI 工具集

dataflows-save-as-authoring-cli

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:在无法就地迁移数据流的情况下,用 save-as 方式把 Power BI Gen1 数据流复制为升级后的 Gen2.1 CI/CD 副本,同时保留原 Gen1 数据流。仅支持 Gen1 → Gen2.1;Gen2 源或来源代际不明的执行请求应停止,不调用 API。

主要能力:

  1. 发现:用 Power BI REST API 列出工作区数据流,按 generation 属性区分 Gen1/Gen2;Admin API 可租户级扫描(需管理员角色,限 200 请求/小时)。
  2. 评估:检查七类风险信号——增量刷新、BYOSA/自定义 ADLS Gen2 存储、Power Automate/API 触发、下游管道依赖、链接/计算实体、DirectQuery、调用者非所有者或权限不足。
  3. 分类:✅ Safe / ⚠️ Manual followups / ❌ Blocked,并输出 Markdown 与 JSON 就绪快照。
  4. 执行:调用 saveAsNativeArtifact 创建 Gen2.1 副本,参数含 displayName、description、includeSchedule、targetWorkspaceId。

必要用法:

  • 工具:az CLI、jq、base64。
  • 认证与受众:Fabric Items API 用 --resource "https://api.fabric.microsoft.com";Power BI REST API 用 --resource "https://analysis.windows.net/powerbi/api",受众错误会返回 401。
  • 示例:az rest --method get --resource "https://analysis.windows.net/powerbi/api" --url "https://api.powerbi.com/v1.0/myorg/groups/$WS_ID/dataflows"
  • save-as 端点:POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/dataflows/{gen1DataflowId}/saveAsNativeArtifact(Preview API)。
  • 必须用文件体 --body @file.json,并加 --headers "Content-Type=application/json";Windows 上省略 -o json。

限制:saveAsNativeArtifact 非幂等,重试会产生重复副本;需为数据流所有者或具备 Contributor/Admin 权限,否则返回 DataflowUnauthorizedError;BYOSA、DirectQuery、权限不足为阻断项;Gen2 → Gen2 就地升级端点暂未提供;执行前须先扫描,刷新需用户明确同意,验证通过前不要删除原 Gen1 数据流。