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

能否通过Databricks Workspace API设置导入Notebook的单元格默认折叠?

Databricks Notebook单元格折叠的API实现与导入默认设置

1. 通过Workspace API实现单元格折叠

Databricks的Workspace API支持修改Notebook元数据来控制单元格折叠状态。每个Notebook单元格的JSON结构中包含collapsed字段,将其设为true即可让单元格处于折叠状态。具体操作步骤如下:

  • 调用workspace/get API,以JSON格式获取目标Notebook的完整内容
  • 遍历单元格数组,根据需求筛选目标单元格(比如按单元格类型、内容特征),设置其collapsed属性为true
  • 调用workspace/update或workspace/import API,将修改后的JSON内容写回Notebook

Python示例代码片段:

import requests
import json

# 配置API参数
databricks_host = "https://your-databricks-instance.com"
token = "your-api-token"
notebook_path = "/path/to/target-notebook"

# 获取Notebook JSON内容
get_headers = {"Authorization": f"Bearer {token}"}
get_params = {"path": notebook_path, "format": "JSON"}
response = requests.get(f"{databricks_host}/api/2.0/workspace/get", headers=get_headers, params=get_params)
notebook_content = response.json()

# 批量设置目标单元格为折叠状态
for cell in notebook_content["cells"]:
    # 可根据实际条件筛选单元格,比如匹配特定代码注释或单元格类型
    if cell["cell_type"] == "code" and "large-output-block" in "".join(cell["source"]):
        cell["collapsed"] = True

# 更新Notebook内容
update_payload = {
    "path": notebook_path,
    "format": "JSON",
    "content": json.dumps(notebook_content),
    "overwrite": True
}
response = requests.post(f"{databricks_host}/api/2.0/workspace/import", headers=get_headers, json=update_payload)
response.raise_for_status()

2. 导入Notebook时设置默认折叠

在导入Notebook前,直接在其JSON格式内容中为需要折叠的单元格添加collapsed: true属性即可。使用workspace/import API导入时,该属性会被保留,导入后的单元格默认处于折叠状态。

单个单元格的JSON示例:

{
  "cell_type": "code",
  "source": ["# 大体积输出代码块"],
  "collapsed": true,
  "metadata": {}
}

注意:collapsed字段仅在JSON格式的Notebook导入/导出中生效,HTML、DBC等其他格式可能无法持久化该属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 11:18:28