mcp织物api
用于Microsoft Fabric REST API的MCP(模型上下文协议)服务器。专为希望使用Copilot之外的AI助手(如Claude、Claude Code或任何兼容MCP的客户端)构建和管理其Fabric组件的数据工程师和数据分析师而设计。涵盖工作区、湖畔小屋、仓库、笔记本电脑、管道、语义模型、报告、数据流、事件库、事件流、反射、GraphQL API、SQL端点、变量库、git集成、部署管道、镜像数据库、KQL数据库、ML模型、ML实验、复制作业、外部数据共享和环境(Spark compute+库,带笔记本电脑连接/分离)。
默认安全: 此服务器阻止所有破坏性操作(创建、更新、删除),直到您明确配置WRITABLE_WORKSPACES环境变量。读取操作始终有效。设置WRITABLE_WORKSPACES="*"允许对所有工作区进行写入,或使用模式限制访问。看 工作区安全防护 了解详情。
先决条件
- Node.js 18+
- 访问Microsoft Fabric工作区
- 什么之中的一个:
- Azure命令行界面(az login)--在Windows上最简单 - 启用设备代码流的Azure应用程序注册——最适合Mac/Claude Desktop - 服务主体凭据——最适合无头/自动化场景
快速开始
Windows(Azure CLI):
az login
npx @einlogic/mcp-fabric-apiMac/Claude桌面(设备代码):
AUTH_METHOD=device-code AZURE_CLIENT_ID=your-app-id AZURE_TENANT_ID=your-tenant-id npx @einlogic/mcp-fabric-api在第一次API调用时,登录URL和代码将显示在日志中。在浏览器中打开URL,输入代码,然后进行身份验证。
设置
克劳德桌面版
添加到您的Claude Desktop配置文件中:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json
Windows(使用Azure CLI凭据):
{
"mcpServers": {
"fabric": {
"command": "npx",
"args": ["-y", "@einlogic/mcp-fabric-api"]
}
}
}macOS(使用设备代码流):
{
"mcpServers": {
"fabric": {
"command": "npx",
"args": ["-y", "@einlogic/mcp-fabric-api"],
"env": {
"AUTH_METHOD": "device-code",
"AZURE_CLIENT_ID": "your-app-client-id",
"AZURE_TENANT_ID": "your-tenant-id"
}
}
}
}服务器启动时,检查Claude Desktop日志中的登录提示:
- macOS:
~/Library/Logs/Claude/mcp-server-fabric.log - 窗户:
%APPDATA%\Claude\logs\mcp-server-fabric.log
提示将显示: *“要登录,请使用web浏览器打开https://microsoft.com/devicelogin并输入代码XXXXXXX”*。完成一次登录,令牌将为会话缓存。
克劳德代码CLI
窗户:
claude mcp add fabric -- npx -y @einlogic/mcp-fabric-apimacOS:
claude mcp add fabric -e AUTH_METHOD=device-code -e AZURE_CLIENT_ID=your-app-id -e AZURE_TENANT_ID=your-tenant-id -- npx -y @einlogic/mcp-fabric-api要验证是否已添加:
claude mcp listHTTP模式(远程)
对于远程部署,设置环境变量:
export TRANSPORT=http
export PORT=3000
export AZURE_CLIENT_ID=your-client-id
export AZURE_CLIENT_SECRET=your-client-secret
export AZURE_TENANT_ID=your-tenant-id
npx @einlogic/mcp-fabric-api服务器公开:
POST /mcp--MCP端点(流式HTTP)GET /mcp--服务器通知的SSE流DELETE /mcp--会话清理GET /.well-known/oauth-protected-resource--OAuth元数据
身份验证方法
服务器支持通过多种身份验证方法 AUTH_METHOD 环境变量。选择适合您的平台和场景的方法:
| 方法 | AUTH_METHOD | 必需的环境变量 | 最适合 |
|---|---|---|---|
| Azure CLI(默认) | default | 无 | 带 az login |
| 设备代码 | device-code | AZURE_CLIENT_ID, AZURE_TENANT_ID | Mac/Claude桌面 |
| 客户端密码 | client-secret | AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_TENANT_ID | 无头/自动化 |
| 交互式浏览器 | interactive-browser | 无(可选: AZURE_CLIENT_ID, AZURE_TENANT_ID) | 具有浏览器访问权限的系统 |
默认值(Azure CLI): 使用 DefaultAzureCredential Azure Identity SDK的链。在开发人员计算机上,这会从以下位置获取凭据 az login无需额外配置。这是原始行为,在Windows上效果最佳,Claude Desktop可以访问Azure CLI令牌缓存。
设备代码: 在第一个API调用中,将URL和一次性代码打印到stderr。您可以在任何浏览器中打开URL,输入代码,然后使用您的Azure帐户登录。令牌缓存在会话的内存中。这是推荐的方法 使用Claude Desktop的Mac用户,因为macOS上的Claude Desktop进程无法访问Azure CLI令牌缓存。
要使用设备代码流,您需要注册Azure应用程序 “允许公共客户端流” 启用:
- 首选 Azure 门户 >应用程序注册>新注册
- 命名它(例如“结构MCP”)并注册
- 在...之下 认证 > 高级设置,set “允许公共客户端流” 到 是
- 在...之下 API权限,添加
https://api.fabric.microsoft.com/Workspace.ReadWrite.All(或您的工具所需的范围) - 复制 应用程序(客户端)ID 和你的 目录(租户)ID
客户端密码: 使用具有客户端凭据的服务主体。需要使用客户端密码注册Azure应用程序。适用于CI/CD管道、自动化脚本或任何无法进行交互式登录的无头环境。
交互式浏览器: 打开OAuth登录的浏览器窗口。适用于服务器进程可以启动浏览器的系统。可选的 AZURE_CLIENT_ID 和 AZURE_TENANT_ID 可以针对特定的应用程序和租户提供。
工作区安全防护
通过控制哪些工作区允许写入操作(创建、更新、删除) WRITABLE_WORKSPACES 环境变量。只有与配置的名称模式匹配的工作空间才允许CUD(创建、更新、删除)操作。读取操作从不受限制。
默认行为:当 WRITABLE_WORKSPACES 如果未设置或为空,则阻止所有破坏性操作。 您必须显式配置此变量以启用写入。WRITABLE_WORKSPACES 价值 | 行为 |
|---|---|
| 未设置/为空 | 所有写入被阻止 (安全默认) |
* | 所有工作区都可写 |
*-Dev,*-Test,Sandbox* | 只有匹配的工作区可写 |
设置逗号分隔的glob模式:
WRITABLE_WORKSPACES=*-Dev,*-Test,Sandbox*通配符示例:
*匹配所有工作区(允许所有内容)*-Dev匹配“销售开发”、“财务开发”Sandbox*匹配“Sandbox-123”、“Sandbox Mike”Exact-Name仅匹配“精确名称”(不区分大小写)
防护工具(共102个) --创建、更新或删除工作区项的每个工具:
| 域 | 受保护的工具 |
|---|---|
| 工作区 | workspace_update, workspace_delete |
| 湖屋 | lakehouse_create, lakehouse_update, lakehouse_delete, lakehouse_load_table, lakehouse_create_shortcut, lakehouse_update_definition, lakehouse_delete_shortcut |
| 仓库 | warehouse_create, warehouse_update, warehouse_delete, warehouse_update_definition |
| 笔记本电脑 | notebook_create, notebook_update, notebook_delete, notebook_update_definition, notebook_attach_environment, notebook_detach_environment |
| 管道 | pipeline_create, pipeline_update, pipeline_delete, pipeline_create_schedule, pipeline_update_schedule, pipeline_delete_schedule, pipeline_update_definition |
| 语义模型 | semantic_model_create_bim, semantic_model_create_tmdl, semantic_model_update_details, semantic_model_delete, semantic_model_update_bim, semantic_model_update_tmdl, semantic_model_take_over |
| 报告 | report_create_definition, report_update, report_delete, report_clone, report_update_definition, report_rebind |
| 数据流 | dataflow_create, dataflow_update, dataflow_delete |
| 活动中心 | eventhouse_create, eventhouse_update, eventhouse_delete |
| 事件流 | eventstream_create, eventstream_update, eventstream_delete, eventstream_update_definition |
| 反射 | reflex_create, reflex_update, reflex_delete, reflex_update_definition |
| GraphQL API | graphql_api_create, graphql_api_update, graphql_api_delete |
| 变量库 | variable_library_create, variable_library_update, variable_library_delete, variable_library_update_definition |
| Git集成 | git_connect, git_disconnect, git_initialize_connection, git_commit_to_git, git_update_from_git, git_update_credentials |
| 部署管道 | deployment_pipeline_assign_workspace, deployment_pipeline_unassign_workspace, deployment_pipeline_deploy |
| 镜像数据库 | mirrored_database_create, mirrored_database_update, mirrored_database_delete, mirrored_database_update_definition, mirrored_database_start_mirroring, mirrored_database_stop_mirroring |
| KQL数据库 | kql_database_create, kql_database_update, kql_database_delete, kql_database_update_definition |
| ML模型 | ml_model_create, ml_model_update, ml_model_delete |
| ML实验 | ml_experiment_create, ml_experiment_update, ml_experiment_delete |
| 复制作业 | copy_job_create, copy_job_update, copy_job_delete, copy_job_update_definition |
| 外部数据共享 | external_data_share_create, external_data_share_revoke |
| 环境 | environment_create, environment_update, environment_update_definition, environment_delete, environment_publish, environment_cancel_publish, environment_import_staging_external_libraries, environment_upload_staging_custom_library, environment_delete_staging_custom_library, environment_remove_staging_external_library, environment_update_staging_spark_compute |
无防护: 读取操作(列表、get、get_definition、get_bim、get_tmdl)、查询执行(DAX、KQL、SQL、GraphQL)、运行/刷新/取消操作、导出操作和部署管道CRUD(租户级别,非工作区范围)。
带防护的Claude桌面配置(Windows):
{
"mcpServers": {
"fabric": {
"command": "npx",
"args": ["-y", "@einlogic/mcp-fabric-api"],
"env": {
"WRITABLE_WORKSPACES": "*-Dev,*-Test,Sandbox*"
}
}
}
}带防护的Claude桌面配置(macOS):
{
"mcpServers": {
"fabric": {
"command": "npx",
"args": ["-y", "@einlogic/mcp-fabric-api"],
"env": {
"AUTH_METHOD": "device-code",
"AZURE_CLIENT_ID": "your-app-client-id",
"AZURE_TENANT_ID": "your-tenant-id",
"WRITABLE_WORKSPACES": "*-Dev,*-Test,Sandbox*"
}
}
}
}带防护的Claude代码CLI:
WRITABLE_WORKSPACES="*-Dev,*-Test" claude mcp add fabric -- npx -y @einlogic/mcp-fabric-api未配置时出错:
WRITABLE_WORKSPACES is not configured. Destructive actions are blocked by default. Set WRITABLE_WORKSPACES to a comma-separated list of workspace name patterns, or "*" to allow all.工作区不在允许列表中时出错:
Workspace "Production-Analytics" is not in the writable workspaces list. Allowed patterns: *-Dev, *-Test, Sandbox*调试日志记录
启用详细调试日志记录以诊断API错误、检查请求/响应详细信息并跟踪长时间运行的操作。所有日志输出都转到 stderr (在Claude Desktop的日志文件中可见,永远不会干扰stdout上的JSON-RPC)。
设置 LOG_LEVEL 环境变量 debug:
Claude桌面配置:
{
"mcpServers": {
"fabric": {
"command": "npx",
"args": ["-y", "@einlogic/mcp-fabric-api"],
"env": {
"LOG_LEVEL": "debug"
}
}
}
}克劳德代码CLI:
LOG_LEVEL=debug claude mcp add fabric -- npx -y @einlogic/mcp-fabric-api在调试级别记录的内容:
| 类别 | 记录的详细信息 |
|---|---|
| HTTP请求 | 方法、完整URL、请求正文大小(以字节为单位) |
| HTTP响应 | 状态代码、持续时间(ms)、, x-ms-request-id 头球 |
| 定义上传 | 零件路径、有效载荷类型、有效载荷大小——从不包括有效载荷内容 |
| API错误 | 完整的错误正文,包括 errorCode, details[], innererror, relatedResource, x-ms-request-id |
| LRO轮询 | 操作ID、轮询计数、已用时间、最终状态 |
| 分页 | 页数、每页项目数、总项目数 |
| SQL/KQL查询 | 服务器、数据库、持续时间、列/行计数——从不查询文本或结果数据 |
| 速率限制 | 持续时间后重试,受影响的端点 |
顺从: 调试日志从不捕获实际的数据内容——没有查询文本、没有查询结果、没有定义有效载荷、没有承载令牌。只记录结构元数据(URL、大小、计数、时间、错误详细信息)。
在Claude Desktop中查看日志:
- macOS:
~/Library/Logs/Claude/mcp-server-fabric.log - 窗户:
%APPDATA%\Claude\logs\mcp-server-fabric.log
您还可以实时跟踪日志:
# macOS
tail -f ~/Library/Logs/Claude/mcp-server-fabric.log
# Windows (PowerShell)
Get-Content "$env:APPDATA\Claude\logs\mcp-server-fabric.log" -Wait这 x-ms-request-id 每个API错误记录的值是向Microsoft打开Fabric API问题支持案例时所需的关键标识符。
读与写工具注释
每个工具都声明MCP ToolAnnotations 因此MCP客户端在配置UI中呈现只读工具时可以将其与突变区分开来。这允许用户在单个切换中启用所有读取工具,同时要求明确批准写入。
| 注释 | 含义 | 典型工具名称 |
|---|---|---|
readOnlyHint: true | 纯读取,无状态更改 | *_list, *_get, *_get_definition,DAX查询,导出操作 |
readOnlyHint: false, destructiveHint: false | 创建或更新状态 | *_create, *_update, *_run, *_refresh, *_publish, *_import, *_upload |
readOnlyHint: false, destructiveHint: true | 删除、取消或移除 | *_delete, *_cancel_run, *_remove_*, *_revoke, *_disconnect, *_detach_* |
所有219个工具都带有这些提示。工作区安全防护(WRITABLE_WORKSPACES)无论客户允许什么,它仍然独立适用。
基于文件的I/O
为了避免大量有效负载压倒MCP客户端,定义工具使用文件路径而不是内联内容。服务器在向结构发送定义时从磁盘读取文件,并在从结构检索定义时将文件写入磁盘。
输入工具 --服务器从指定路径读取定义文件并上传到结构:
| 工具 | 参数 | 说明 |
|---|---|---|
semantic_model_create_bim | definitionFilePath | model.bim JSON文件的路径 |
semantic_model_update_bim | definitionFilePath | model.bim JSON文件的路径 |
semantic_model_create_tmdl | filesDirectoryPath | 目录 .tmdl 和 .pbism 文件 |
semantic_model_update_tmdl | filesDirectoryPath | 目录 .tmdl 和 .pbism 文件 |
notebook_update_definition | definitionDirectoryPath | 包含笔记本定义文件的目录 |
eventstream_update_definition | definitionDirectoryPath | 包含事件流定义文件的目录 |
report_create_definition | definitionDirectoryPath | PBIR报告定义文件目录 |
report_update_definition | definitionDirectoryPath | PBIR报告定义文件目录 |
variable_library_create | definitionDirectoryPath | 目录 .json 和 .platform 文件 |
variable_library_update_definition | definitionDirectoryPath | 目录 .json 和 .platform 文件 |
lakehouse_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
warehouse_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
pipeline_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
reflex_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
mirrored_database_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
kql_database_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
copy_job_update_definition | partsDirectoryPath | 定义文件目录(或内联 parts) |
environment_create | definitionDirectoryPath (可选) | 创建时要播种的环境定义文件目录 |
environment_update_definition | definitionDirectoryPath | 环境定义文件目录 |
environment_import_staging_external_libraries | yamlFilePath | 通往A的道路 environment.yml 文件(替换外部库列表) |
environment_upload_staging_custom_library | libraryFilePath | 通往 .jar / .py / .whl / .tar.gz (最大100 MB) |
输出工具 --服务器从结构中检索定义并将其写入磁盘:
| 工具 | 参数 | 写什么 |
|---|---|---|
semantic_model_get_bim | outputFilePath | 单身 model.bim JSON文件 |
semantic_model_get_tmdl | outputDirectoryPath | TMDL文件保留文件夹结构 |
notebook_get_definition | outputDirectoryPath | 笔记本定义文件 |
lakehouse_get_definition | outputDirectoryPath | Lakehouse定义文件 |
warehouse_get_definition | outputDirectoryPath | 仓库定义文件 |
pipeline_get_definition | outputDirectoryPath | 管道定义文件 |
report_get_definition | outputDirectoryPath | 报告定义文件(Report.json、页面、视觉效果) |
dataflow_get_definition | outputDirectoryPath | 数据流定义文件 |
eventstream_get_definition | outputDirectoryPath | 事件流定义文件 |
graphql_api_get_definition | outputDirectoryPath | GraphQL模式定义文件 |
reflex_get_definition | outputDirectoryPath | 反射定义文件 |
variable_library_get_definition | outputDirectoryPath | 变量库文件(variables.json、valueSets/) |
mirrored_database_get_definition | outputDirectoryPath | 镜像数据库定义文件 |
kql_database_get_definition | outputDirectoryPath | KQL数据库定义文件 |
copy_job_get_definition | outputDirectoryPath | 复制作业定义文件 |
environment_get_definition | outputDirectoryPath | 环境定义文件 |
environment_export_staging_external_libraries | outputFilePath | 分期付款 environment.yml |
environment_export_published_external_libraries | outputFilePath | 已发布 environment.yml |
TMDL目录结构示例:
/tmp/my-model/
model.tmdl
definition.pbism
definition/
tables/
Sales.tmdl
Product.tmdl
relationships.tmdl发展
git clone https://github.com/your-org/mcp-fabric-api.git
cd mcp-fabric-api
npm install
npm run build
npm start
npm run dev # Watch mode
npm run inspect # Launch MCP Inspector工具(共219个)
身份验证(4个工具)
| 工具 | 说明 |
|---|---|
auth_get_current_account | 显示当前Azure标识、租户和令牌到期时间 |
auth_list_available_accounts | 列出本地订阅/租户 az login 状态(不查询Entra) |
auth_switch_tenant | 切换到其他Azure租户(失败时回滚) |
auth_clear_token_cache | 清除缓存的令牌以强制重新获取 |
工作区(6个工具)
| 工具 | 说明 |
|---|---|
workspace_list | 列出所有可访问的Fabric工作区 |
workspace_get | 获取特定工作空间的详细信息 |
workspace_create | 创建新工作区 |
workspace_update | 更新工作区的名称或描述 |
workspace_delete | 删除工作区 |
workspace_list_items | 列出工作区中的所有项目(带可选类型筛选器) |
湖屋(14工具)
| 工具 | 说明 |
|---|---|
lakehouse_list | 列出工作区中的所有湖畔小屋 |
lakehouse_get | 获取湖屋详细信息(SQL端点、OneLake路径) |
lakehouse_create | 创建一个新的湖畔小屋(LRO,默认启用模式) |
lakehouse_update | 更新湖屋名称或描述 |
lakehouse_delete | 删除湖畔小屋 |
lakehouse_list_tables | 列出lakehouse中的所有表(对于启用模式的lakehouse,可以回退到SQL端点) |
lakehouse_load_table | 从OneLake(LRO)将数据加载到表中。不支持启用模式的湖畔小屋 |
lakehouse_create_shortcut | 创建支持多种目标类型的OneLake快捷方式(文件、文件夹、表或架构级别) |
lakehouse_get_sql_endpoint | 获取SQL端点详细信息 |
lakehouse_get_definition | 获取湖屋定义(LRO)。将文件写入 outputDirectoryPath |
lakehouse_update_definition | 更新湖屋定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
lakehouse_list_shortcuts | 列出湖畔小屋中的所有OneLake快捷方式 |
lakehouse_get_shortcut | 获取特定OneLake快捷方式的详细信息 |
lakehouse_delete_shortcut | 删除OneLake快捷方式 |
仓库(9个工具)
| 工具 | 说明 |
|---|---|
warehouse_list | 列出工作区中的所有仓库 |
warehouse_get | 获取仓库详细信息,包括连接字符串和配置状态 |
warehouse_create | 创建新仓库(LRO) |
warehouse_update | 更新仓库名称或描述 |
warehouse_delete | 删除仓库 |
warehouse_get_sql_endpoint | 获取仓库的SQL连接详细信息 |
warehouse_list_tables | 列出仓库中的所有表 |
warehouse_get_definition | 获取仓库定义(LRO)。将文件写入 outputDirectoryPath |
warehouse_update_definition | 更新仓库定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
笔记本(12个工具)
| 工具 | 说明 |
|---|---|
notebook_list | 列出工作区中的所有笔记本 |
notebook_get | 获取笔记本详细信息 |
notebook_create | 创建新笔记本(LRO) |
notebook_update | 更新笔记本名称或描述 |
notebook_delete | 删除笔记本 |
notebook_get_definition | 获取笔记本定义(LRO)。将文件写入 outputDirectoryPath |
notebook_update_definition | 更新笔记本定义(LRO)。从以下位置读取文件 definitionDirectoryPath |
notebook_run | 按需运行笔记本 |
notebook_get_run_status | 获取笔记本运行状态 |
notebook_cancel_run | 取消正在运行的笔记本 |
notebook_attach_environment | 通过修改其定义元数据将结构环境附加到笔记本(处理两者 .py 和 .ipynb 笔记本电脑) |
notebook_detach_environment | 从笔记本中删除连接的环境 |
管道(15个工具)
| 工具 | 说明 |
|---|---|
pipeline_list | 列出所有数据管道 |
pipeline_get | 获取管道详细信息 |
pipeline_create | 创建新管道 |
pipeline_update | 更新管道名称或描述 |
pipeline_delete | 删除管道 |
pipeline_run | 按需运行管道 |
pipeline_get_run_status | 获取管道运行状态 |
pipeline_cancel_run | 取消正在运行的管道 |
pipeline_list_runs | 列出所有运行实例 |
pipeline_list_schedules | 列出管道进度表 |
pipeline_create_schedule | 创建管道明细表 |
pipeline_update_schedule | 更新管道计划 |
pipeline_delete_schedule | 删除管道明细表 |
pipeline_get_definition | 获取管道定义(LRO)。将文件写入 outputDirectoryPath |
pipeline_update_definition | 更新管道定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
语义模型(15个工具)
| 工具 | 说明 |
|---|---|
semantic_model_list | 列出所有语义模型 |
semantic_model_get_details | 获取语义模型元数据(名称、ID、描述)--不返回定义 |
semantic_model_create_bim | 从BIM/JSON文件(LRO)创建语义模型。读取 model.bim 从 definitionFilePath |
semantic_model_create_tmdl | 从TMDL文件(LRO)创建语义模型。读取 .tmdl/.pbism 从 filesDirectoryPath |
semantic_model_update_details | 更新语义模型名称或描述--不修改定义 |
semantic_model_delete | 删除语义模型 |
semantic_model_refresh | 触发模型刷新(Power BI API) |
semantic_model_execute_dax | 执行DAX查询(Power BI API) |
semantic_model_get_bim | 获取BIM/JSON格式(LRO)的定义。写 model.bim 到 outputFilePath |
semantic_model_get_tmdl | 获取TMDL格式(LRO)的定义。将TMDL文件写入 outputDirectoryPath |
semantic_model_update_bim | 从BIM/JSON文件(LRO)更新定义。读取 model.bim 从 definitionFilePath |
semantic_model_update_tmdl | 从TMDL文件(LRO)更新定义。读取 .tmdl/.pbism 从 filesDirectoryPath |
semantic_model_get_refresh_history | 获取刷新历史记录(Power BI API) |
semantic_model_take_over | 接管语义模型的所有权(Power BI API) |
semantic_model_get_datasources | 获取语义模型的数据源(Power BI API) |
报告(13个工具)
| 工具 | 说明 |
|---|---|
report_list | 列出所有报告 |
report_get | 获取报告详细信息 |
report_create_definition | 从PBIR定义文件(LRO)创建新报告。阅读来源 definitionDirectoryPath |
report_update | 更新报告名称或描述 |
report_delete | 删除报告 |
report_clone | 克隆报告(Power BI API) |
report_export | 通过Power BI API将报告导出为文件格式(PDF、PPTX、PNG等) |
report_get_export_status | 检查报告导出状态 |
report_get_definition | 获取报告定义(LRO)。将文件写入 outputDirectoryPath |
report_update_definition | 从PBIR目录(LRO)更新报告定义。阅读来源 definitionDirectoryPath |
report_rebind | 将报告重新绑定到不同的语义模型/数据集(Power BI API) |
report_get_pages | 获取报表中的页面列表(Power BI API) |
report_get_datasources | 获取报表使用的数据源(Power BI API) |
数据流Gen2(8个工具)
| 工具 | 说明 |
|---|---|
dataflow_list | 列出所有Dataflow Gen2项目 |
dataflow_get | 获取数据流详细信息 |
dataflow_create | 创建新的数据流 |
dataflow_update | 更新数据流名称或描述 |
dataflow_delete | 删除数据流 |
dataflow_refresh | 触发数据流刷新 |
dataflow_get_refresh_status | 获取刷新作业状态 |
dataflow_get_definition | 获取数据流定义(LRO)。将文件写入 outputDirectoryPath |
Eventhouse(7个工具)
| 工具 | 说明 |
|---|---|
eventhouse_list | 列出所有活动场所 |
eventhouse_get | 获取活动场地详细信息 |
eventhouse_create | 创建新的活动室(LRO) |
eventhouse_update | 更新活动室名称或描述 |
eventhouse_delete | 删除活动室 |
eventhouse_get_sql_endpoint | 获取查询服务URI和连接详细信息 |
eventhouse_execute_kql | 对KQL数据库执行KQL查询 |
事件流(7个工具)
| 工具 | 说明 |
|---|---|
eventstream_list | 列出所有事件流 |
eventstream_get | 获取事件流详细信息 |
eventstream_create | 创建新的事件流(LRO) |
eventstream_update | 更新事件流名称或描述 |
eventstream_delete | 删除事件流 |
eventstream_get_definition | 获取事件流定义(LRO)。将文件写入 outputDirectoryPath |
eventstream_update_definition | 更新事件流定义(LRO)。阅读来源 definitionDirectoryPath |
反射/激活器(7个工具)
| 工具 | 说明 |
|---|---|
reflex_list | 列出所有反射(激活器)项目 |
reflex_get | 获取反射细节 |
reflex_create | 创造新的反射 |
reflex_update | 更新反射名称或描述 |
reflex_delete | 删除反射 |
reflex_get_definition | 获取反射定义(LRO)。将文件写入 outputDirectoryPath |
reflex_update_definition | 更新反射定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
GraphQL API(7个工具)
| 工具 | 说明 |
|---|---|
graphql_api_list | 列出所有GraphQL API项 |
graphql_api_get | 获取GraphQL API详细信息 |
graphql_api_create | 创建新的GraphQL API |
graphql_api_update | 更新GraphQL API名称或描述 |
graphql_api_delete | 删除GraphQL API |
graphql_api_get_definition | 获取GraphQL模式定义(LRO)。将文件写入 outputDirectoryPath |
graphql_api_execute_query | 执行GraphQL查询 |
SQL端点(4个工具)
| 工具 | 说明 |
|---|---|
sql_endpoint_list | 列出所有SQL端点 |
sql_endpoint_get | 获取SQL端点详细信息 |
sql_endpoint_get_connection_string | 获取TDS连接字符串 |
sql_endpoint_execute_query | 对lakehouse或仓库SQL端点执行T-SQL查询 |
变量库(7个工具)
| 工具 | 说明 |
|---|---|
variable_library_list | 列出工作区中的所有变量库 |
variable_library_get | 获取变量库详细信息,包括活动值集名称 |
variable_library_create | 创建变量库,可选地使用来自的定义文件 definitionDirectoryPath (LRO) |
variable_library_update | 更新名称、描述或活动值集 |
variable_library_delete | 删除变量库 |
variable_library_get_definition | 获取定义(LRO)。将文件(variables.json、valueSets/)写入 outputDirectoryPath |
variable_library_update_definition | 从目录更新定义 .json 和 .platform 文件(LRO) |
Git集成(9个工具)
| 工具 | 说明 |
|---|---|
git_get_connection | 获取工作区的Git连接详细信息 |
git_get_status | 获取项目的Git状态(工作区和远程之间的同步状态) |
git_connect | 将工作区连接到Git存储库(Azure DevOps或GitHub) |
git_disconnect | 断开工作区与其Git存储库的连接 |
git_initialize_connection | 连接后初始化Git连接(LRO) |
git_commit_to_git | 将工作区更改提交到连接的Git存储库(LRO) |
git_update_from_git | 从连接的Git存储库(LRO)更新工作区 |
git_get_credentials | 获取当前用户的Git凭据配置 |
git_update_credentials | 更新当前用户的Git凭据配置 |
部署管道(12个工具)
| 工具 | 说明 |
|---|---|
deployment_pipeline_list | 列出用户可访问的所有部署管道 |
deployment_pipeline_get | 获取特定部署管道的详细信息 |
deployment_pipeline_create | 创建新的部署管道 |
deployment_pipeline_update | 更新部署管道名称或描述 |
deployment_pipeline_delete | 删除部署管道 |
deployment_pipeline_list_stages | 列出部署管道中的所有阶段 |
deployment_pipeline_list_stage_items | 列出特定阶段的所有项目 |
deployment_pipeline_assign_workspace | 将工作空间分配给管道阶段 |
deployment_pipeline_unassign_workspace | 从管道阶段取消分配工作空间 |
deployment_pipeline_deploy | 将项目从一个阶段部署到另一个阶段(LRO) |
deployment_pipeline_list_operations | 列出操作(部署历史) |
deployment_pipeline_get_operation | 获取特定部署操作的详细信息 |
镜像数据库(11个工具)
| 工具 | 说明 |
|---|---|
mirrored_database_list | 列出工作区中的所有镜像数据库 |
mirrored_database_get | 获取特定镜像数据库的详细信息 |
mirrored_database_create | 创建新的镜像数据库(LRO) |
mirrored_database_update | 更新镜像数据库名称或描述 |
mirrored_database_delete | 删除镜像数据库 |
mirrored_database_get_definition | 获取镜像数据库定义(LRO)。将文件写入 outputDirectoryPath |
mirrored_database_update_definition | 更新定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
mirrored_database_start_mirroring | 开始镜像数据库 |
mirrored_database_stop_mirroring | 停止镜像数据库的镜像 |
mirrored_database_get_mirroring_status | 获取镜像状态 |
mirrored_database_get_tables_mirroring_status | 获取各个表的镜像状态 |
KQL数据库(7个工具)
| 工具 | 说明 |
|---|---|
kql_database_list | 列出工作区中的所有KQL数据库 |
kql_database_get | 获取特定KQL数据库的详细信息 |
kql_database_create | 创建一个新的KQL数据库(LRO)。需要家长活动室 |
kql_database_update | 更新KQL数据库名称或描述 |
kql_database_delete | 删除KQL数据库 |
kql_database_get_definition | 获取KQL数据库定义(LRO)。将文件写入 outputDirectoryPath |
kql_database_update_definition | 更新定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
ML模型(5个工具)
| 工具 | 说明 |
|---|---|
ml_model_list | 列出工作区中的所有ML模型 |
ml_model_get | 获取特定ML模型的详细信息 |
ml_model_create | 创建新的机器学习模型(LRO) |
ml_model_update | 更新ML模型名称或描述 |
ml_model_delete | 删除ML模型 |
ML实验(5个工具)
| 工具 | 说明 |
|---|---|
ml_experiment_list | 列出工作区中的所有ML实验 |
ml_experiment_get | 获取特定机器学习实验的详细信息 |
ml_experiment_create | 创建新的机器学习实验(LRO) |
ml_experiment_update | 更新ML实验名称或描述 |
ml_experiment_delete | 删除ML实验 |
复制作业(11个工具)
| 工具 | 说明 |
|---|---|
copy_job_list | 列出工作区中的所有复制作业 |
copy_job_get | 获取特定复制作业的详细信息 |
copy_job_create | 创建新的复制作业 |
copy_job_update | 更新复制作业名称或描述 |
copy_job_delete | 删除复制作业 |
copy_job_get_definition | 获取复制作业定义(LRO)。将文件写入 outputDirectoryPath |
copy_job_update_definition | 更新定义(LRO)。阅读来源 partsDirectoryPath 或内联 parts |
copy_job_run | 按需运行复制作业 |
copy_job_get_run_status | 获取复制作业运行状态 |
copy_job_cancel_run | 取消正在运行的复制作业 |
copy_job_list_runs | 列出复制作业的所有运行实例 |
外部数据共享(4个工具)
| 工具 | 说明 |
|---|---|
external_data_share_list | 列出项目的所有外部数据共享 |
external_data_share_get | 获取特定外部数据共享的详细信息 |
external_data_share_create | 为项目创建新的外部数据共享 |
external_data_share_revoke | 撤销外部数据共享 |
环境(20个工具)
结构环境是笔记本电脑和Spark作业定义的可连接运行时单元,它们捆绑了运行时版本、Spark计算配置和一组库。工具涵盖了整个CRUD表面以及暂存/发布生命周期。
| 工具 | 说明 |
|---|---|
environment_list | 列出工作区中的所有环境 |
environment_get | 获取包括发布状态在内的环境元数据 |
environment_create | 创建一个新环境(可选择使用以下定义作为种子 definitionDirectoryPath) |
environment_update | 更新环境显示名称或描述 |
environment_delete | 删除环境 |
environment_get_definition | 获取环境公共定义(LRO)。将文件写入 outputDirectoryPath |
environment_update_definition | 覆盖环境公共定义(LRO)。阅读来源 definitionDirectoryPath |
environment_publish | 触发发布以使临时更改生效(LRO) |
environment_cancel_publish | 取消正在进行的发布操作 |
environment_list_staging_libraries | 列出暂存库(已发布+待处理) |
environment_export_staging_external_libraries | 将暂存外部库导出为 environment.yml 到 outputFilePath |
environment_import_staging_external_libraries | 上传 environment.yml 从 yamlFilePath 替换外部库列表 |
environment_upload_staging_custom_library | 上传a .jar / .py / .whl / .tar.gz 从 libraryFilePath (最大100 MB) |
environment_delete_staging_custom_library | 按文件名从暂存中删除自定义库 |
environment_remove_staging_external_library | 从暂存中删除单个外部库(一次一个) |
environment_get_staging_spark_compute | 获取临时Spark计算配置 |
environment_update_staging_spark_compute | 更新临时Spark计算(池、核心、内存、运行时、sparkProperties) |
environment_list_published_libraries | 列出已发布(当前有效)的库 |
environment_get_published_spark_compute | 获取已发布的Spark计算配置 |
environment_export_published_external_libraries | 将已发布的外部库导出为 environment.yml 到 outputFilePath |
许可证
AGPL-3.0
