10.3. 将文件上传到 FTP 或 SFTP 服务器
在集成中,您可以在流中上传文件到 FTP 或 SFTP 服务器,或者完成简单的集成。为此,请将 FTP 或 SFTP 连接添加到流中间或作为简单集成结束连接。
前提条件
- 您创建了 FTP 或 SFTP 连接。
- 您正在创建或编辑流,Fuse Online 会提示您添加到集成。或者,Fuse Online 正在提示您选择完成连接。
流程
- 在 Add to Integration 页面上,单击您要添加连接的加号。如果 Fuse Online 正在提示您选择完成连接,请跳过这一步。
- 点击您要上传文件的 FTP 或 SFTP 连接。
- 在 Choose an action 页面上,选择 Upload。
- 在 File name expression 字段中,如果要只上传一个特定文件,则输入解析为 文件名的 Apache Camel Simple 语言 表达式。这是操作上传到服务器的文件的名称。您不能指定正则表达式。要上传多个文件,请将此字段留空。
- 在 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
。
-
JSON 模式是 描述 JSON 数据结构的文档。文档的介质类型是
-
在 Definition 输入框中,粘贴符合您选择的 schema 类型的定义。例如,如果您选择 JSON 模式,您将粘贴 JSON 模式文件的内容,该文件的介质类型为
application/schema+json
。 在 Data Type Name 字段中输入您为数据类型选择的名称。例如,如果您要为供应商指定 JSON 模式,您可以指定
Vendor
作为数据类型名称。在创建或编辑使用指定此类型的连接时,您将看到此数据类型名称。Fuse Online 在集成视觉化和数据映射程序中显示类型名称。
- 在 Data Type Description 字段中,提供可帮助您区分此类型的信息。当您将鼠标悬停在处理此类型的步骤上时,此描述会出现在数据映射程序中。
- 点击 Next。
结果
连接会出现在您添加它的集成视觉化中。