“FTP 列表文件”活动

在运行时期间,FTP 列表文件活动连接到 FTP 服务器并使用指定正则表达式从指定目录位置生成文件列表。FTP 列表文件活动使用 directoryListingfileListing 输出参数将文件列表返回到编排。

如果已清除仅列出文件 (NLST) 复选框,那么在 directoryListing 输出参数中会将完整目录列表(包括目录许可权、时间戳记和所有权)作为单个字符串返回。将完整目录列表作为字符串返回时,必须将平面文件模式与读取平面文件活动结合使用来解析目录列表。如果已选中“仅列出文件 (NLST)”复选框并且“FTP 列表文件”活动支持 FTP 服务器的目录列表格式,那么在 fileListing 输出参数中会返回仅包含文件名的重复结构。在返回了文件名重复结构时,无需解析目录列表,可以只是使用针对每个While 循环活动通过列表进行迭代。

对于某些情况,必须将 FTP 列表文件活动与 FTP 获取文件FTP 放置文件FTP 删除文件FTP 重命名文件活动协同使用,以处理在 FTP 目录中找到的文件集;而在其他情况下,只要使用 FTP 轮询目录活动即可。

如果下列任何条件成立,请将 FTP 列表文件活动与 FTP 获取文件FTP 放置文件FTP 删除文件FTP 重命名文件活动协同使用,以处理在 FTP 目录中找到的文件集:

符号链接

FTP 列表文件活动在运行时期间对符号链接的支持取决于下列因素: 要确定对特定操作系统上特定 FTP 服务器的特定符号链接支持,请参阅操作系统和 FTP 服务器文档。

通过 Microsoft FTP 端点处理子目录

对于 Microsoft IIS(Internet 信息服务)FTP 端点,当处理子目录和子目录中的文件时,FTP 列表文件活动的运行时行为取决于活动的配置任务的命名文件字段中指定的正则表达式,如下列情况中所述:

向编排中添加“FTP 列表文件”活动

  1. 创建或打开编排。此时会以图形形式显示编排。
  2. 选择活动选项卡并展开 FTP 文件夹。
  3. 列表文件活动拖至编排上。
  4. 选择该活动。这样会显示核对表

创建、选择或编辑 FTP 端点

  1. 单击核对表中的选取端点任务,然后选择下列操作之一:
    • 选择现有端点:
      1. 选择浏览。这样会显示 Project Explorer。
        注意: 指定与原始 FTP 端点具有不同目录结构的新 FTP 端点可导致编排作业在运行时期间失败。您必须指定与原先所指定的 FTP 服务器目录结构匹配的新 FTP 服务器,或者通过按以下“配置活动”过程中所述单击浏览来更改目录字段的已配置目录。
      2. 选择现有端点并单击确定。跳至“配置活动”过程。
    • 选择现有端点并编辑该端点:
      1. 选择浏览。这样会显示 Project Explorer。
      2. 选择现有端点并单击确定
        注意: 指定与原始 FTP 端点具有不同目录结构的新 FTP 端点可导致编排作业在运行时期间失败。您必须指定与原先所指定的 FTP 服务器目录结构匹配的新 FTP 服务器,或者通过按以下“配置活动”过程中所述单击浏览来更改目录字段的已配置目录。
      3. 单击编辑。此时会显示“编辑端点”窗格。
    • 创建新端点:选择新建。此时会显示“创建端点”窗格。
  2. 创建或编辑 FTP 端点:创建或编辑 FTP 端点

配置活动

  1. 核对表中选择配置任务。此时会显示“配置”窗格。
  2. 配置此窗格中的所有字段,如下表所述:
    表 2.
    字段 描述
    目录 指定 Integration Appliance 删除指定文件所在的 FTP 服务器上的目录。可以使用下列选项之一指定目录:
    • 通过在字段中单击并输入下列目录路径之一直接输入目录路径:
      • 相对目录路径,例如:/process。 (假设 FTP 主目录已针对连接到 FTP 服务器的用户帐户进行了配置。请参阅下方的说明以获取更多信息。)
      • 完整目录路径,例如在 UNIX 机器上:/home/user/process
    • 单击浏览... 以填充可用目录的下拉列表。从下拉列表中选择相应的目录。
    注: UNIX:如果在连接到 UNIX 机器上的 FTP 服务器时指定相对目录路径,请验证是否已针对连接到 FTP 服务器的用户帐户在 /etc/password 文件中正确指定了 FTP 主目录。
    文件名 指定用于定义要从 FTP 服务器获取的文件名的模式或正则表达式。正则表达式的处理通过 FTP 服务器来进行。要了解更多的信息,请参阅关于正则表达式的 FTP 服务器文档。通常,FTP 服务器在其正则表达式中支持下列通配符:
    • * - 零个或多个字符
    • ? - 零个或一个字符
    注: 由于正则表达式的处理是在 FTP 服务器上进行的,因此是否区分大小写由 FTP 服务器来确定。 如果 FTP 服务器区分大小写,那么通过 FTP 轮询目录活动进行的文件匹配也区分大小写。
    仅列出文件 (NLST) 仅列出文件 (NLST) 复选框确定运行时期间通过“测试”按钮返回的目录列表类型。此外,此复选框还确定 fileListingdirectoryListing 输出参数是否显示在映射输出任务中并由活动在运行时期间返回。
    • 如果已选中仅列出文件 (NLST) 复选框,那么在单击测试按钮时仅会返回文件名,如以下示例列表中所示:
      bidAcmeInc.txtbidBudgetManufacture.txtbidCrankCo.txtbidSamAndSons.txtbidWidgetRUs.txt
      此外,当选中了仅列出文件 (NLST) 复选框时,在“映射输出”任务中会列出 fileListing 输出参数。在运行时期间,在 fileListing 输出参数的 fileName 重复节点中会返回 fileName 集。对于此示例,fileListing/fileName 重复元素的第一个实例等于 bidAcmeInc.txt,fileListing/fileName 重复元素的第二个实例等于 bidBudgetManufacture.txt 等。
    • 如果已清除仅列出文件 (NLST) 复选框,那么在单击测试按钮时会返回完整目录列表(包括目录许可权、时间戳记和所有权),如以下示例列表中所示:
      -rw-r--r--   1 551
           551
                 65
      May  3 11:39 bidAcmeInc.txt-rw-r--r--   1 551
           551
                 43
      May  3 11:39 bidBudgetManufacture.txt-rw-r--r--   1 551
           551
                  0
      May  3 11:39 bidCrankCo.txt-rw-r--r--   1 551
           551
                 73
      May  3 11:39 bidSamAndSons.txt-rw-r--r--   1 551      551            33 May  3 11:39 bidWidgetRUs.txt
      此外,当选中了仅列出文件 (NLST) 复选框时,在映射输出任务中会列出 directoryListing 输出参数。在运行时期间,完整目录列表会作为单个字符串提供并通过使用 directoryListing 输出参数进行返回。

指定重试选项

  1. 核对表中选择重试任务。此时会显示“重试”窗格。
  2. 配置用于连接到 FTP 服务器的重试选项。下表定义用于连接到 FTP 服务器的重试选项:
    表 3.
    字段 描述
    重试  
    1) 在两次重试之间等待 ___ 秒。 Integration Appliance 在尝试与 FTP 服务器建立连接之前等待的秒数。
    2) 尝试连接 ___ 次后将失败。 指定重试计数 - Integration Appliance 在发出错误之前尝试与 FTP 服务器建立连接的最大次数。

    如果已部署以 FTP 列表文件活动开始的编排,并且 Integration Appliance 无法连接到指定的 FTP 服务器,那么 Integration Appliance 会在系统日志中将连接错误记录为警告,直至达到重试计数值为止。在达到了重试计数时,Integration Appliance 会在系统日志中记录错误,将连接错误计数复位为零,并且继续尝试与 FTP 服务器建立连接。

    例如,将重试计数设置为 3。第一、第二和第三个连接错误在系统日志中显示为警告。Integration Appliance 将第四个连接错误记录为错误并将连接错误计数复位为零。因此,第五个连接错误会在系统日志中生成警告。Integration Appliance 会继续尝试与 FTP 服务器建立连接。

映射活动的输入

  1. 核对表中选择映射输入任务。此时会显示“重试”窗格。活动的输入参数会显示在“目标活动”窗格中。
  2. 可以选择是否映射 FTP 列表文件活动的输入参数。FTP 列表文件活动具有下列可选输入参数:
    • directory
    • connection

    如果“映射输入”窗格的“目标活动”窗格中未显示下表中列出的输入参数,请从工具栏菜单中选择映射 > 显示可选参数,或者在“目标活动”窗格中右键单击,然后选择显示可选参数选项。 如果映射 > 显示可选参数选项在工具栏菜单中不可选,请单击“映射输入”窗格中的节点以激活此选项。

    您可以选择性地覆盖运行时期间在核对表配置选取端点任务中指定的设置,方法是使用下表中定义的输入参数。

    例如,可以在配置任务中将 Integration Appliance 获取文件列表所在的 FTP 服务器上的目录设置为名为 input 的目录。在运行时期间,可能会使用 directory 输入参数将目录名称 inputXML 传递到活动中。在运行时期间动态指定的目录名称覆盖“配置”窗格中指定的原始设置。在此示例中,文件列表是从 inputXML 目录中生成的。

表 4.
输入参数名称/节点 描述 是否覆盖任务中的设置?
directory 指定 Integration Appliance 将此活动中生成的文件在 FTP 服务器上的放置目录。 directory 输入参数覆盖配置任务的目录字段。
connection/timeout 指定在 Integration Appliance 尝试与端点建立连接和端点响应连接请求期间发生超时之前等待的时间量(秒)。对于 FTP 删除文件活动,指的是在超时之前 Integration Appliance 尝试与 FTP 服务器建立连接所花费的时间量。  connection 输入参数的 timeout 节点覆盖 FTP 端点的连接超时 - 在与端点建立连接 ___ 秒后将超时字段。 
connection/host 指定 FTP 服务器的主机名或 IP 地址。 connection 输入参数的 host 节点覆盖 FTP 端点的主机名字段。
connection/port 为所指定的主机名指定端口号。FTP 流量的标准端口为 21。SFTP 流量的缺省端口为 22。 connection 输入参数的 port 节点覆盖 FTP 端点的端口字段。
connection/username 指定用于连接到 FTP 服务器的帐户的用户名。 connection 输入参数的 username 节点覆盖 FTP 端点的用户名字段。
connection/password 指定用于连接到 FTP 服务器的帐户的密码。 connection 输入参数的 password 节点覆盖 FTP 端点的密码字段。

映射活动的输出

  1. 核对表中选择映射输出任务。此时在“源活动”窗格中会显示 directoryListingfileListing 输出参数。
  2. directoryListingfileListing 输出参数映射到变量。请参阅创建映射,以获取有关映射的常规指示信息。

在运行时期间,FTP 列表文件活动使用 directoryListingfileListing 输出参数将文件列表返回到编排。

如果在配置任务中清除了仅列出文件 (NLST) 复选框,那么在 directoryListing 输出参数中会将完整目录列表(包括目录许可权、时间戳记和所有权)作为单个字符串返回。将完整目录列表作为字符串返回时,必须将平面文件模式与“读取平面文件”活动配合使用来解析目录列表。您可以使用平面文件模式编辑器创建平面文件模式。有关使用平面文件模式解析目录列表的示例编排,请参阅解析目录列表示例:解析目录列表示例

如果已选中仅列出文件 (NLST) 复选框并且 FTP 列表文件活动支持 FTP 服务器的目录列表格式,那么在 fileListing 输出参数中会返回仅包含文件名的重复结构。在返回了文件名重复结构时,无需解析目录列表,可以只是使用针对每个While 循环活动通过列表进行迭代。