用途:通过 Databricks REST API 程序化创建、导出、导入和更新 Genie Space,适用于 CI/CD 部署、环境迁移、版本控制备份与故障排查。
主要能力:覆盖 GenieSpaceExport 的 config、data_sources、instructions、benchmarks 结构;提供 List/Get/Create/PATCH/Delete 端点用法;说明 ID 必须为 uuid.uuid4().hex(32 位小写十六进制、无连字符);字符串内容字段须为单元素数组;所有数组在 PATCH 前须排序(tables、metric_views 按 identifier,其余按 id);支持 ${catalog}、${gold_schema} 等模板变量替换与基于资产清单生成 data_sources。
使用方式:导出用 python scripts/export_genie_space.py --host <workspace> --token <token> --list 或加 --space-id <id> --output space.json;导入用 python scripts/import_genie_space.py --host <workspace> --token <token> create --config space.json --title "My Space" --description "..." --warehouse-id <id>,更新用 update --space-id <id>。部署可经 databricks bundle deploy -t dev 与 databricks bundle run -t dev genie_spaces_deployment_job。
限制:instructions.sql_functions 与 benchmarks.questions 各上限 50;Get Space 须加 ?include_serialized_space=true 否则返回内容不完整;PATCH 携带 title 会追加 " (updated)";column_configs 可能触发校验失败;未排序数组会报 Invalid export proto 错误。具体价格与平台支持范围暂未提供。