用途:为 Databricks Python SDK(databricks-sdk)提供生产级代码模式,用于实现 Databricks 集成、重构 SDK 用法或建立统一调用规范。
主要能力:
- 单例客户端:用 lru_cache 缓存 WorkspaceClient,按 profile 区分,避免重复认证与 HTTP 会话;多工作区场景使用 AccountClient。
- 错误处理:用 Result 数据类包装 API 调用,区分 NotFound、PermissionDenied、TooManyRequests、TemporarilyUnavailable、ResourceConflict,并标记是否可重试。
- 集群生命周期:用 contextmanager 封装 managed_cluster,创建并等待集群,退出时自动终止,异常也保证清理。
- 类型安全作业构建:使用 CreateJob、JobCluster、Task、NotebookTask、CronSchedule 等 SDK 数据类替代原始 dict,在构造期发现 schema 错误。
- 分页辅助:SDK 列表接口返回迭代器,可用 collect_with_progress 收集全部结果并输出进度。
使用方式:需先完成 databricks-install-auth 配置,安装 databricks-sdk v0.20+(pip install databricks-sdk),并了解 Python 上下文管理器与 dataclasses。示例包括健康检查脚本与多工作区清单。
限制:资料未提供具体收费、价格、平台支持范围或性能数据;错误处理表建议对 InvalidParameterValue 使用 SDK 数据类,对 ResourceAlreadyExists 采用唯一后缀或先查后建,SDK 版本不匹配时固定 databricks-sdk>=0.20.0。