10.4. 将文件上传到 FTP 或 SFTP 服务器
在集成中,您可以在流中上传文件到 FTP 或 SFTP 服务器,或者完成简单的集成。为此,请将 FTP 或 SFTP 连接添加到流中间或作为简单集成结束连接。
先决条件
- 您创建了 FTP 或 SFTP 连接。
- 您正在创建或编辑流,Fuse Online 会提示您添加到集成。或者,Fuse Online 正在提示您选择完成连接。
流程
- 在 Add to Integration 页面上,单击您要添加连接的加号。如果 Fuse Online 正在提示您选择完成连接,请跳过这一步。
- 点击您要上传文件的 FTP 或 SFTP 连接。
- 在 Choose an action 页面上,选择 Upload。
在 文件名表达式 字段中,键入一个 Apache Camel 文件语言 表达式,该表达式指定要上传的文件或文件。(请注意,您不能指定正则表达式。)
例如,您可以过滤 FTP 服务器中具有特定扩展的所有文件。以下示例指定了带有
.doc
扩展的所有文件:'${file:onlyname.noext}.doc'
如果要上传 FTP 目录中的所有文件,请将 文件名表达式 留空。
- 在 FTP 目录 字段中,输入服务器目录的绝对或相对路径名称。如果 File name expression 字段包含一个表达式,则连接会将指定的文件存储在这个目录中。如果 File name expression 字段为空,则连接将上传到此目录中从上一步中收到的所有文件。
在 If file exists 字段中,指定您上传与服务器中文件相同的路径和名称的文件时的行为。接受默认的 覆盖 (覆盖 ),以使用您要上传的文件覆盖服务器上的文件。或者,选择以下之一:
- 附加 将 正在上传的内容添加到服务器上的文件中。
-
失败 抛出
GenericFileOperationException
。集成不会进入错误状态。 - ignore 不上传文件。整合在假设一切正常下运行。
- move 重命名其中一个文件。
- TryRename 使用临时名称上传文件,并将该文件重命名为所需名称。此操作不会检查是否存在具有所需名称的文件,这使得在大多数服务器上比存在性检查要快得多。
- 在 copy 字段中的 Temporary 文件前缀 中,指定一个字符串。连接会在上传时将此字符串添加到文件的名称中。这可让连接写入服务器上的临时文件,然后将该临时文件重命名为具有正确的名称。这在上传非常大文件时,这可用于减少锁定。
- 在 copy 字段中的 Temporary 文件名 中,指定一个字符串。连接重命名正在上传的文件,使其在上传时具有此名称。这可让连接写入服务器上的临时文件,然后将该临时文件重命名为具有正确的名称。这在上传非常大文件时,这可用于减少锁定。
- 点 Next 指定操作的输入类型。
在 Select Type 字段中,如果不需要知道数据类型,则接受 类型规格, 然后点 Next。您不需要遵循这些指令的其余部分。
但是,建议使用结构化的数据类型。例如,如果要在数据映射映射映射器步骤中的连接输入,您必须指定数据类型。数据映射器无法显示非结构化数据的字段。
要指定数据类型,点 Select Type 字段,并选择以下之一作为 schema 类型:
-
JSON 模式是 描述 JSON 数据结构的文档。文档的介质类型是
application/schema+json
。 -
JSON 实例 是包含 JSON 数据的文档。文档的介质类型是
application/json
。 -
XML 模式 是一个描述 XML 数据结构的文档。文档的文件扩展为
.xsd
。 -
XML 实例 是包含 XML 数据的文档。文档的文件扩展为
.xml
。 CSV 实例 是一个包含逗号分隔的值(CSV)数据的文档。文档的文件扩展名为
.csv
。请注意,对 CSV 数据的数据映射程序支持只是一个技术预览功能。
-
JSON 模式是 描述 JSON 数据结构的文档。文档的介质类型是
-
在 Definition 输入框中,粘贴符合您选择的 schema 类型的定义。例如,如果您选择 JSON 模式,您将粘贴 JSON 模式文件的内容,该文件的介质类型为
application/schema+json
。 在 Data Type Name 字段中输入您为数据类型选择的名称。例如,如果您要为供应商指定 JSON 模式,您可以指定
Vendor
作为数据类型名称。在创建或编辑使用指定此类型的连接时,您将看到此数据类型名称。Fuse Online 在集成视觉化和数据映射程序中显示类型名称。
- 在 Data Type Description 字段中,提供可帮助您区分此类型的信息。当您将鼠标悬停在处理此类型的步骤上时,此描述会出现在数据映射程序中。
- 点击 Next。
结果
连接会出现在您添加它的集成视觉化中。