Databricks Dashboards API是否失效?请求属性未被正确识别
Databricks Dashboards API 创建仪表板属性不生效问题
问题详情
调用Databricks Dashboards API创建仪表板时,请求体中的dashboard_filters_enabled、widgets属性未生效,仅name和data_source_id被正确应用。请求返回200状态码,但响应中dashboard_filters_enabled保持默认False,widgets始终为None。
调用代码
import requests url = f'https://workspace/api/2.0/preview/sql/dashboards' headers = {"Authorization": f"Bearer token"} data = { "dashboard_filters_enabled": True, "data_source_id": source_id, "name": "dashboard", } requests.post(url, json=data, headers=headers).json()
响应示例
{ "id": "1234", "slug": "dashboard", "name": "dashboard", "user_id": 4567, "dashboard_filters_enabled": false, "widgets": null, ... }
解决方案
1. 切换到正式版API端点
你当前使用的是预览版API(路径含preview),这类API常存在功能限制。改用正式版端点:
https://workspace/api/2.0/sql/dashboards
2. 拆分属性配置流程
部分属性无法在创建时直接设置,需分两步操作:
- 启用仪表板筛选器:先创建仪表板,再通过
PUT请求更新dashboard_filters_enabled:
update_url = f'https://workspace/api/2.0/sql/dashboards/1234' update_payload = {"dashboard_filters_enabled": True} requests.put(update_url, json=update_payload, headers=headers).json()
- 添加Widgets:创建仪表板后,单独调用
/widgets端点添加组件:
widget_url = f'https://workspace/api/2.0/sql/dashboards/1234/widgets' widget_payload = { "type": "chart", "visualization": { "chart_type": "bar", "query_id": "your_query_id" }, "position": {"col": 0, "row": 0, "size_x": 6, "size_y": 4} } requests.post(widget_url, json=widget_payload, headers=headers).json()
3. 验证权限与工作区版本
确保你的Bearer token拥有sql_dashboards_manage权限,同时确认工作区Databricks版本支持目标API功能——旧版本工作区可能存在属性配置限制。
总结
正式版API功能正常,问题源于预览版API的功能局限性,以及部分属性需通过后续更新请求配置,而非创建时一次性设置。
内容的提问来源于stack exchange,提问作者semi tuitive
相关产品推荐
相关产品推荐

