10.3. 将文件上传到 FTP 或 SFTP 服务器


在集成中,您可以在流中上传文件到 FTP 或 SFTP 服务器,或者完成简单的集成。为此,请将 FTP 或 SFTP 连接添加到流中间或作为简单集成结束连接。

前提条件

  • 您创建了 FTP 或 SFTP 连接。
  • 您正在创建或编辑流,Fuse Online 会提示您添加到集成。或者,Fuse Online 正在提示您选择完成连接。

流程

  1. Add to Integration 页面上,单击您要添加连接的加号。如果 Fuse Online 正在提示您选择完成连接,请跳过这一步。
  2. 点击您要上传文件的 FTP 或 SFTP 连接。
  3. Choose an action 页面上,选择 Upload
  4. File name expression 字段中,如果要只上传一个特定文件,则输入解析为 文件名的 Apache Camel Simple 语言 表达式。这是操作上传到服务器的文件的名称。您不能指定正则表达式。要上传多个文件,请将此字段留空。
  5. FTP 目录 字段中,输入服务器目录的绝对或相对路径名称。如果 File name expression 字段包含一个表达式,则连接会将指定的文件存储在这个目录中。如果 File name expression 字段为空,则连接将上传到此目录中从上一步中收到的所有文件。
  6. If file exists 字段中,指定您上传与服务器中文件相同的路径和名称的文件时的行为。接受默认的 覆盖 (覆盖 ),以使用您要上传的文件覆盖服务器上的文件。或者,选择以下之一:

    • 附加 将 正在上传的内容添加到服务器上的文件中。
    • 失败 抛出 GenericFileOperationException。集成不会进入错误状态。
    • ignore 不上传文件。整合在假设一切正常下运行。
    • move 重命名其中一个文件。
    • TryRename 使用临时名称上传文件,并将该文件重命名为所需名称。此操作不会检查是否存在具有所需名称的文件,这使得在大多数服务器上比存在性检查要快得多。
  7. 在 copy 字段中的 Temporary 文件前缀 中,指定一个字符串。连接会在上传时将此字符串添加到文件的名称中。这可让连接写入服务器上的临时文件,然后将该临时文件重命名为具有正确的名称。这在上传非常大文件时,这可用于减少锁定。
  8. copy 字段中的 Temporary 文件名 中,指定一个字符串。连接重命名正在上传的文件,使其在上传时具有此名称。这可让连接写入服务器上的临时文件,然后将该临时文件重命名为具有正确的名称。这在上传非常大文件时,这可用于减少锁定。
  9. Next 指定操作的输入类型。
  10. Select Type 字段中,如果不需要知道数据类型,则接受 类型规格, 然后点 Next。您不需要遵循这些指令的其余部分。

    但是,建议使用结构化的数据类型。例如,如果要在数据映射映射映射器步骤中的连接输入,您必须指定数据类型。数据映射器无法显示非结构化数据的字段。

    要指定数据类型,点 Select Type 字段,并选择以下之一作为 schema 类型:

    • JSON 模式是 描述 JSON 数据结构的文档。文档的介质类型是 application/schema+json
    • JSON 实例 是包含 JSON 数据的文档。文档的介质类型是 application/json
    • XML 模式 是一个描述 XML 数据结构的文档。文档的文件扩展为 .xsd
    • XML 实例 是包含 XML 数据的文档。文档的文件扩展为 .xml
  11. Definition 输入框中,粘贴符合您选择的 schema 类型的定义。例如,如果您选择 JSON 模式,您将粘贴 JSON 模式文件的内容,该文件的介质类型为 application/schema+json
  12. Data Type Name 字段中输入您为数据类型选择的名称。例如,如果您要为供应商指定 JSON 模式,您可以指定 Vendor 作为数据类型名称。

    在创建或编辑使用指定此类型的连接时,您将看到此数据类型名称。Fuse Online 在集成视觉化和数据映射程序中显示类型名称。

  13. Data Type Description 字段中,提供可帮助您区分此类型的信息。当您将鼠标悬停在处理此类型的步骤上时,此描述会出现在数据映射程序中。
  14. 点击 Next

结果

连接会出现在您添加它的集成视觉化中。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.