复制订单文件并核对内容

将CSV复制到独立目录,核对文件内容、哈希和源文件保留情况。

适用场景与读者

适合需要交付CSV等文件的用户,重点是内容完整性、源文件保留和已有目标处理。

开始前准备

先完成教程公共准备,再准备下表中的资源。

资源 要求
文件目录 执行Worker上的两个新目录,分别作为LOCAL源根和目标根;目标初始为空。

配置一览

界面字段 / 配置项 本例填写值
源/目标路径 . / .
匹配 / 递归 *.csv / 关闭
首次复制:覆盖 / 删除源 开启 / 关闭;目标目录初始为空

操作步骤

1. 准备CSV和资源

在源目录用UTF-8保存orders.csv:

id,amount
1,100
2,200
3,300

资源→文件资源,新建两个LOCAL资源,根路径分别指向源和目标目录。路径属于执行节点。

2. 配置并发布文件任务

新建FILE_TRANSFER,选择两个资源,填写配置表中的相对路径与开关。保存发布,再手动执行。

3. 核对实际文件

目标应出现orders.csv,源仍存在。Windows对两个文件运行Get-FileHash -Algorithm SHA256;Linux运行sha256sum。比较两者哈希,并打开目标检查表头及三条数据。

4. 检查已有目标策略

保留目标文件,将overwrite改为false,保存发布后再次执行。预期实例SUCCESS,但fileTransfer.uploadedFileCount=0、fileTransfer.skippedFileCount=1;目标哈希不变,源文件仍存在。这里的成功表示按配置跳过,不能当作重新上传成功。

需要演练覆盖或归档时另用目录副本,明确选择策略并核对内容。

5. 扩展:通过 SFTP 交付

准备SSH 教程中的受限 Linux 账号、已核实主机密钥和可写目录。在文件资源中新增 SFTP 目标,填写自己的主机、端口、账号、私钥文件路径及主机密钥,根路径指向该账号可写的专属目录;先测试连接。

界面字段 / 配置项 本例填写值
来源资源 / 来源路径 前面的 LOCAL 资源 / .
目标资源 / 目标路径 新 SFTP 资源 / delivery
匹配 / 递归 *.csv / 关闭
远程发布方式 临时文件后重命名(TEMP_RENAME)
覆盖 / 删除源 开启 / 关闭;远程目标初始为空

执行后,远程 delivery/orders.csv 应与源文件字节一致。通过受信任的 SFTP 会话回读文件,或在远端执行 sha256sum,核对 SHA-256 和三行订单;同时确认本地源文件仍保留。临时文件重命名是否可用取决于服务端与目录权限。

FTP、S3 兼容资源及权限拒绝是独立扩展,需要另行准备专属账号和目录/桶并核对结果。

预期结果

检查项 预期值
目标内容 1个orders.csv,表头及3行数据与源一致
完整性与源保留 SHA-256一致,源文件仍存在
首次复制 uploadedFileCount=1,skippedFileCount=0
已有目标且overwrite=false SUCCESS,uploadedFileCount=0,skippedFileCount=1,目标哈希不变

常见失败

现象 处理方法
目标已存在 先确认覆盖策略,不要为让实例显示成功而直接打开删除源或覆盖。
远端拒绝 检查资源身份和目录/桶权限,不能把配置页保存成功当成传输成功。

安全与清理

确认无需保留后只删除本教程新建的源/目标目录和资源;保留其他文件。

适用版本与限制

适用 1.0.0 的 LOCAL→LOCAL、LOCAL→SFTP 复制、SHA-256 核对和本地已有目标跳过;SFTP 使用 Ubuntu 24.04 / OpenSSH 与临时文件重命名。SUCCESS 可能表示按策略跳过,应结合上传/跳过计数判断。FTP、S3、覆盖已有内容、归档和大文件是独立扩展。

界面参考

以下为该功能的真实界面参考;示例名称和实例 ID 可与本次运行不同。扩展步骤以正文配置和结果为准。

界面参考:transfer-editor

相关页面

文档版本 1.0.0。命令中的示例路径、资源和端口需替换为自己的环境。