复制订单文件并核对内容
将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 可与本次运行不同。扩展步骤以正文配置和结果为准。
