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

Databricks API无法列出工作区内容的问题咨询与排查

Databricks API 工作区内容列出及授权验证问题解答

1. 如何正确列出工作区内容?

你遇到的两个错误可以通过以下步骤修正:

  • 修正请求方法:Databricks的workspace/list API仅支持POST请求,你之前使用GET方法是导致404错误的核心原因。
  • 正确传递请求体:Invoke-DatabricksAPI的-Body参数接受哈希表(Hashtable)类型,无需提前转为JSON字符串,直接传入定义好的哈希表即可,这解决了参数类型转换错误的问题。
  • 简化调用逻辑:通过Connect-Databricks建立连接后,Invoke-DatabricksAPI会自动复用会话中的Token和Region信息,无需重复传入这两个参数。

修正后的完整代码如下:

if (-not (Get-PackageProvider -ListAvailable -Name NuGet)) { 
    Install-PackageProvider nuget -Scope CurrentUser -Force
}
if (-not (Get-Module -ListAvailable -Name azure.databricks.cicd.tools)) { 
    Install-Module -Name azure.databricks.cicd.tools -Scope CurrentUser -Force
}

Import-Module -Name azure.databricks.cicd.tools

try {
    # 建立Databricks连接
    Connect-Databricks -BearerToken $ADB_Token -Region $region

    # 定义用户目录路径(建议去掉末尾斜杠,避免路径识别问题)
    $userFolderPath = "/Users/mysuer@email.com"

    # 构造请求体哈希表
    $body = @{
        path = $userFolderPath
    }

    # 调用API:使用POST方法,直接传入哈希表格式的Body
    $workspaceContent = Invoke-DatabricksAPI -Method POST -API "workspace/list" -Body $body

    # 输出工作区内容
    $workspaceContent
}
catch {
    Write-Error "执行出错: $_"
}

额外注意:确保$userFolderPath与Databricks工作区中实际的用户目录路径完全一致(包括邮箱拼写,部分环境可能区分大小写),如果路径末尾带斜杠导致识别问题,可尝试去掉斜杠重试。

2. 未出现401 UNAUTHORIZED错误是否说明授权已成功?

是的,未出现401错误说明授权已经成功。

Databricks API在身份验证失败时会直接返回401 UNAUTHORIZED错误(比如Token无效、权限不足、Region配置错误等)。当前返回404错误,说明请求已经通过了身份验证环节,服务器正常接收并处理了请求,只是因为请求方法错误或路径识别问题,才返回"资源不存在"的提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 18:15:06