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

Azure Databricks:WorkspaceClient无法连接外部工作区及PAT认证问题

问题解决方案

1. 为何默认连接总是指向当前工作区?怎么改?

在Azure Databricks无服务器笔记本里,WorkspaceClient默认会自动复用当前工作区的安全上下文——也就是笔记本运行时自带的身份凭据,哪怕你手动指定了其他工作区的URL,只要没显式声明认证方式,SDK会优先读取环境变量、笔记本内置的凭据,导致始终连到当前工作区。

要解决这个问题,必须显式指定认证类型和对应凭据,不能依赖默认逻辑。比如用PAT认证的话,代码要这么写:

from databricks.sdk import WorkspaceClient

# 连接Dev工作区
dev_client = WorkspaceClient(
    workspace_url="https://dev-workspace-url.databricks.com",
    auth_type="pat",
    token="dev-workspace-pat-token"
)

# 连接Test工作区
test_client = WorkspaceClient(
    workspace_url="https://test-workspace-url.databricks.com",
    auth_type="pat",
    token="test-workspace-pat-token"
)

2. PAT认证时的证书错误怎么处理?

证书错误大多是因为目标工作区的SSL证书不被当前笔记本环境信任(比如企业内部CA签发的证书),可以按两种方式处理:

临时测试(不推荐生产环境)

直接禁用证书验证,在实例化客户端时加上verify=False参数:

dev_client = WorkspaceClient(
    workspace_url="https://dev-workspace-url.databricks.com",
    auth_type="pat",
    token="dev-workspace-pat-token",
    verify=False
)

生产环境合规方案

把信任的CA证书上传到DBFS(或笔记本可访问的路径),然后通过verify参数指定证书路径:

dev_client = WorkspaceClient(
    workspace_url="https://dev-workspace-url.databricks.com",
    auth_type="pat",
    token="dev-workspace-pat-token",
    verify="/dbfs/path/to/your/enterprise-ca.pem"
)

另外还要确认两个点:

  • 你的PAT令牌是否拥有目标工作区的访问权限(至少需要workspace_access权限)
  • 目标工作区的URL是否正确(必须以https://开头,没有多余的斜杠或后缀)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 03:57:04