Campaign Standard:当文件夹路径中有空间且文件模式中存在通配符时,SFTP文件传输失败
在Adobe Campaign Standard中,如果配置的文件夹路径包含空格并且工作流使用通配符或动态生成的文件模式,则基于SFTP的文件传输工作流可能会失败。 在平台升级后(引入了更严格的cURL/libcurl版本),此行为变得更加明显。
描述 description
使用文件传输活动的工作流可能会失败,并出现与以下内容类似的错误:
- cURL中出现CRL-290002下载错误
- URL使用错误/非法格式或缺少URL
在以下情况下,会发生此问题:
- 工作流会连接到SFTP位置。
- 配置的文件夹路径包含空格。
- 工作流使用通配符模式或JavaScript生成的动态路径来标识文件。
在许多情况下,同一工作流在以下情况下可正常工作:
- 文件夹路径不包含空格,或
- 提供了完整的文件名而不是通配符模式。
解决方法 resolution
原因
根本原因是,初始SFTP目录列表请求是在没有对URL的目录部分进行百分比编码的情况下生成的。 较旧的libcurl版本在路径中更加宽松且可接受空格,但较新的版本拒绝将这样的URL作为格式错误的URL。
因此,当路径包含空格时,用于列出匹配文件的初始请求会失败,而后续的每文件请求可能仍然有效,因为这些文件路径编码正确。
解决方法
在相关版本中提供产品修复之前,请使用以下变通方法之一:
- 重命名文件夹,使路径不包含空格。
- 如果无法重命名且服务器访问可用,请创建不带空格的符号链接或别名,并将工作流指向该路径。
- 如果用例允许,请使用精确的文件名替换通配符模式,因为即使基于通配符的列表失败,完整文件路径也可能继续工作。
永久修复
工程部门实施了产品修复,以便在发送请求之前对初始SFTP列表URL的目录部分进行百分比编码。 这可确保正确转换包含空格的路径(例如,通过将空格编码为%20),并使行为与较新的libcurl验证规则保持一致。
recommendation-more-help
experience-cloud-kcs-help-kbarticles