Data Factory复制活动失败 报fs.azure.account.key配置无效
故障根因
该错误触发于ADF调用Databricks执行复制作业的配置初始化阶段,核心原因是作业加载到的fs.azure.account.key相关存储鉴权配置值不符合规范,导致Databricks无法正常访问目标ADLS Gen2存储。
排查修复方案
按以下优先级逐一排查即可解决:
- 校验链接服务的密钥配置
如果你在ADF的关联链接服务中直接填写存储账号密钥做鉴权:- 重新从ADLS Gen2存储账号的「访问密钥」面板复制未过期的有效密钥,粘贴到ADF链接服务配置项时,确认没有带入多余的空格、换行、首尾不可见字符,这类冗余字符是该报错最常见的诱因
- 若近期执行过存储账号密钥轮换操作,必须同步更新ADF中所有关联该存储的链接服务配置,避免使用已失效的旧密钥
- 密钥配置项仅填写纯密钥内容,不要拼接存储账号名、容器名等其他信息
- 校验自定义Spark配置传参
如果你通过复制活动附加配置、Databricks集群初始化脚本、全局Spark配置传递存储密钥:- 确认配置键名拼写完全正确,标准格式为
fs.azure.account.key.<你的存储账号名>.dfs.core.windows.net,不要将后缀错写为blob.core.windows.net,不要遗漏存储账号名字段 - 配置的密钥值不要额外包裹单引号、双引号,Spark读取配置时会将引号识别为密钥的一部分,直接判定值无效
- 检查是否存在重复的同键名配置,多位置重复传值且值不一致时,会触发配置校验失败
- 确认配置键名拼写完全正确,标准格式为
- 替换鉴权方式规避密钥配置问题
若反复校验密钥仍无法解决,建议替换为无密钥的鉴权方案,稳定性更高:- 为Databricks工作区的托管标识授予目标ADLS Gen2账号的
Storage Blob Data Contributor角色,直接使用托管标识鉴权,无需手动维护密钥 - 提前在Databricks中通过服务主体挂载ADLS Gen2路径,ADF复制活动直接引用挂载后的路径即可,无需单独传存储配置
- 为Databricks工作区的托管标识授予目标ADLS Gen2账号的
配置有效性验证
完成配置调整后,先在Databricks交互式笔记本中执行以下命令做连通性校验,命令正常返回路径文件列表即说明存储访问配置生效,再重跑ADF复制活动即可:
dbutils.fs.ls("abfss://<你的容器名>@<你的存储账号名>.dfs.core.windows.net/")
内容的提问来源于stack exchange,提问作者Jaya Prakash
相关产品推荐
相关产品推荐

