Azure存储Blob拷贝到SFTP服务器报SftpPathNotFound错误咨询
Azure Blob 拷贝到SFTP任务SftpPathNotFound错误解决办法
报错原文:
Sink端出现故障,错误码=SftpPathNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=无法找到SFTP路径'/Genesys Sample Call Recordings/callrecordings/00QTLVGRKG8BF9E18AU362LAES06QH9J/00QTLVGRKG8BF9E18AU362LAES06QH9J_2021-08-23_13-34-01-00QTLVGRKG8BF9E18AU362LAES06QH9J_fad2973a343a4fe88ddff263533880df_2021_08_23_13_34_02_4Z58Hvt8RxO1jw780NnUfA.mp4'。请检查该路径是否存在,若您配置的路径不以'/'开头,请注意其为相应用户默认文件夹'/'下的相对路径。,Source=Microsoft.DataTransfer.ClientLibrary.SftpConnector,''Type=Renci.SshNet.Common.SftpPathNotFoundException,Message=无此文件,Source=Renci.SshNet,
- 检查路径大小写与空格匹配:Linux环境下的SFTP服务大小写敏感,先确认目标根目录
/Genesys Sample Call Recordings/callrecordings/的名称拼写、空格、大小写和配置完全一致,手动用SFTP工具访问该路径验证可正常进入。 - 开启父目录自动创建配置:Azure数据工厂(ADF)的SFTP接收器默认不会自动创建不存在的子目录,你报错路径中的二级动态目录
00QTLVGRKG8BF9E18AU362LAES06QH9J/如果是随文件动态生成的,需要在Sink配置中开启「自动创建不存在的文件夹」选项,同时将copyBehavior设置为PreserveHierarchy保留目录结构。 - 验证SFTP账号权限:使用管道配置的同一个SFTP账号手动登录服务端,尝试在
/Genesys Sample Call Recordings/callrecordings/目录下创建子目录、上传文件,确认账号具备写入、创建目录的权限,权限不足时底层SSH库也会抛出路径不存在的错误。 - 确认路径格式正确:如果配置的目标路径没有以
/开头,会默认拼接为SFTP用户根目录下的相对路径,比如配置Genesys Sample Call Recordings/实际对应路径为/home/[你的SFTP用户名]/Genesys Sample Call Recordings/,需确认和预期的目标路径一致。 - 校验动态路径拼接逻辑:如果目标路径是通过表达式动态生成的,检查是否存在多拼、漏拼字符的问题,比如多余的斜杠、拼接了Blob的多余路径前缀,导致生成的目标路径和实际存在的路径不匹配。
内容的提问来源于stack exchange,提问作者SarangRN
相关产品推荐
相关产品推荐

