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

Azure DataFactory触发Databricks笔记本Spark Delta表认证错误求助

Azure Data Factory触发Databricks笔记本时的AAD认证错误解决

问题场景

直接在Databricks笔记本内执行spark.table("表路径及名称")时,数据帧与笔记本运行完全正常;但通过Azure Data Factory(ADF)触发该笔记本时,出现AAD认证失败错误。

核心错误提示

AADSTS7000215: 提供的客户端秘钥无效。请确保请求中发送的是客户端秘钥值,而非客户端秘钥ID


完整错误信息

java.util.concurrent.ExecutionException: HTTP错误401;
请求地址='https://login.microsoftonline.com/32131312/oauth2/token'
AADToken: 连接Azure AD获取令牌时,向https://login.microsoftonline.com/3212312312/oauth2/token发送HTTP请求失败。; 请求ID='32131231312-3123123-80300';
内容类型='application/json; charset=utf-8'; 响应内容:
'{"error":"invalid_client","error_description":"AADSTS7000215: 提供的客户端秘钥无效。请确保请求中发送的是客户端秘钥值,而非客户端秘钥ID,对应应用为'[REDACTED]'。\r\n跟踪ID: 854dadaDAdafb4-4d4d-48eeeedddded-89fc-b841eee80000\r\n关联ID: asdasda-dc4f-4739-bf08-dsadasdasda\r\n时间戳: 2023-07-27 09:26:03Z","error_codes":[7000215],"timestamp":"2023-07-27 09:26:03Z","trace_id":"asdsadadas-4d4d-48ed-89fc-xccsasad80300","correlation_id":"asdsadsad-dc4f-4739-bf08-ddc0a0e4529a","error_uri":"https://login.microsoftonline.com/error?code=7000215"}'

shaded.databricks.azurebfs.org.apache.hadoop.fs.azurebfs.oauth2.AzureADAuthenticator$HttpException:
HTTP错误401;
请求地址='https://login.microsoftonline.com/sdsadasdasd/oauth2/token'
AADToken: 连接Azure AD获取令牌时,向https://login.microsoftonline.com/0002cd24-7dd6-4542-acd6-e0cjhjhh/oauth2/token发送HTTP请求失败。;
请求ID='854bdfb4-4d4d-48ed-89fc-8989899';
内容类型='application/json; charset=utf-8'; 响应内容:
'{"error":"invalid_client","error_description":"AADSTS7000215: 提供的客户端秘钥无效。请确保请求中发送的是客户端秘钥值,而非客户端秘钥ID,对应应用为'[REDACTED]'。\r\n跟踪ID: 854bdfb4-4d4d-48ed-89fc-sdadasdsad\r\n关联ID: c5d43820-dc4f-4739-bf08-ddc0a0e4529a\r\n时间戳: 2023-07-27 09:26:03Z","error_codes":[7000215],"timestamp":"2023-07-27 09:26:03Z","trace_id":"854bdfb4-4d4d-48ed-89fc-sadsasad","correlation_id":"dasdasdasdas-dc4f-4739-bf08-ddc0a0e4529a","error_uri":"https://login.microsoftonline.com/error?code=7000215"}'


排查与解决步骤

  • 核对ADF Databricks链接服务的认证配置:确认服务主体的客户端秘钥使用的是秘钥值,而非秘钥ID。在Azure AD应用注册的「证书和密码」页面,创建客户端秘钥时生成的唯一值(仅创建时可见,需提前保存)才是正确的输入内容,不要填写秘钥的名称或ID。
  • 验证服务主体权限:确保该服务主体拥有目标表所在存储(如ADLS Gen2)的「存储Blob数据参与者」权限,以及Databricks工作区的用户/ contributor权限。
  • 确认身份上下文差异:手动运行笔记本时使用的是当前登录用户身份,ADF触发时使用的是链接服务配置的服务主体身份,需确保两种身份对目标资源的访问权限一致。
  • 重新生成客户端秘钥:若旧秘钥已过期或丢失,在Azure AD应用注册中重新生成新的客户端秘钥值,同步更新ADF链接服务中的对应配置。
  • 检查Databricks集群Spark配置:如果集群通过服务主体认证访问存储,确认spark.hadoop.fs.azure.account.oauth2.client.secret配置项填写的是客户端秘钥值,而非ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:26:05