在运行时期间,“FTP 轮询目录”活动连接到 FTP 服务器并在指定位置轮询是否存在指定的一个或多个文件。读取一个或多个文件的内容并将内容映射到编排的一个或多个变量后,FTP 轮询目录活动可删除文件、移动文件或将文件保留在 FTP 服务器的目录中。
“FTP 轮询目录”活动是启动器活动。将以 FTP 轮询目录活动开始的编排部署到 Integration Appliance 时,Integration Appliance 会轮询要添加到 FTP 服务器上特定目录的一个或多个文件。在 FTP 服务器上显示了一个或多个文件时,将会启动编排作业来对文件和编排中的其余活动进行处理。要了解更多的信息,请参阅轮询时间间隔行为。有关使用 FTP 轮询目录活动的编排示例,请参阅《入门指南》。
根据应用程序需求,可以使用下列方法之一处理 FTP 目录中的文件列表:
- 对于某些情况,只能使用 FTP 轮询目录活动处理在 FTP 目录中找到的文件集。
- 在其他情况下,必须将 FTP 列表文件活动与 FTP 获取文件、FTP 放置文件、FTP 删除文件和 FTP 重命名文件活动协同使用。
当下列条件成立时,使用
FTP 轮询目录活动处理在 FTP 目录中找到的文件集:
- “FTP 轮询目录”活动支持 FTP 服务器的目录列表格式。 - 目录列表的格式对于不同操作系统上支持的 FTP 服务器不同。FTP 轮询目录活动支持许多类型的 FTP 服务器,但是如果 FTP 服务器的目录列表格式无法通过 FTP 轮询目录活动进行解析,请将 FTP 列表文件活动与平面文件模式以及 FTP 获取文件、FTP 放置文件、FTP 删除文件和 FTP 重命名文件活动配合使用,以提供与解析目录列表示例中所显示的 FTP 轮询目录活动相同的功能:解析目录列表示例。
- 读取列表中的各文件后,可以通过同一操作对列表中的各文件进行后处理。 - 例如,在处理 FTP 目录中的文件集时,如果可将列表中的各文件移至同一目录,那么可以使用 FTP 轮询目录活动处理文件集。不过,如果需要基于文件属性来处理其他操作,那么必须将 FTP 列表文件活动与 FTP 获取文件、FTP 放置文件、FTP 删除文件和 FTP 重命名文件活动协同使用。例如,如果必须基于文件名将文件移至其他目录,请将 FTP 列表文件活动与 FTP 获取文件、FTP 放置文件、FTP 删除文件和 FTP 重命名文件活动协同使用,如解析目录列表示例中所示:解析目录列表示例。
符号链接
FTP 轮询目录活动在运行时期间对符号链接的支持取决于下列因素:
- 托管 FTP 服务器的操作系统支持的符号链接类型。
- FTP 服务器本身支持的符号链接类型。
- FTP 轮询目录活动支持的符号链接类型,如下表中所列:
表 1. 符号链接到... |
硬符号链接 |
软符号链接 |
Notes® |
文件 |
不受支持 |
不受支持 |
FTP 轮询目录活动不会将指向文件的符号链接解释为文件,因此在运行时期间指向文件的符号链接未通过 FTP 轮询目录活动进行处理。 |
目录 |
受支持 |
受支持 |
|
要确定对特定操作系统上特定 FTP 服务器的特定符号链接支持,请参阅操作系统和 FTP 服务器文档。
持久性
您可以对包含 FTP 轮询目录活动的编排启用持久性。
例如,如果您禁用持久性并且具有已选择保持位置不变选项的包含 FTP 轮询目录活动的编排作业,那么在运行时期间,如果发生失败导致作业停止,那么在重新启动编排后,该作业会再次对文件进行处理。作业状态将丢失,并且 Integration Appliance 不知道其是否已处理文件。要了解更多的信息,请参阅启用持久性。
通过 Microsoft FTP 端点处理子目录
对于 Microsoft® IIS(Internet 信息服务)FTP 端点,当处理子目录和子目录中的文件时,
FTP 轮询目录活动的运行时行为取决于活动的“配置”任务的
命名文件字段中指定的正则表达式,如下列情况中所述:
- 当正则表达式等于字符串 * 时,编排作业处理指定目录中的子目录。
- 当正则表达式等于字符串 *.* 时,编排作业不处理指定目录中的子目录。
- 当正则表达式为空白时,编排作业不处理指定目录中的子目录
.
向编排中添加“FTP 轮询目录”活动
- 创建或打开编排。此时会以图形形式显示编排。
- 选择活动选项卡并展开 FTP 文件夹。
- 将轮询目录活动拖至编排上。
- 选择该活动。这样会显示核对表。
创建、选择或编辑 FTP 端点
- 单击核对表中的选取端点任务,然后选择下列操作之一:
- 选择现有端点:
- 选择浏览。这样会显示 Project Explorer。
警告:
指定与原始 FTP 端点具有不同目录结构的新 FTP 端点可导致编排作业在运行时期间失败。您必须指定与原先所指定的 FTP 服务器目录结构匹配的新 FTP 服务器,或者通过按以下“配置活动”过程中所述单击“浏览”来更改“目录”字段的已配置目录。
- 选择现有端点并单击确定。
跳至“配置活动”过程。
- 选择现有端点并编辑该端点:
- 选择浏览。这样会显示 Project Explorer。
- 选择现有端点并单击确定。
警告:
指定与原始 FTP 端点具有不同目录结构的新 FTP 端点可导致编排作业在运行时期间失败。您必须指定与原先所指定的 FTP 服务器目录结构匹配的新 FTP 服务器,或者通过按以下“配置活动”过程中所述单击“浏览”来更改“目录”字段的已配置目录。单击编辑。此时会显示“编辑端点”窗格。
- 创建新端点:选择新建。此时会显示“创建端点”窗格。
- 创建或编辑 FTP 端点。
配置活动
- 从核对表中选择配置任务。此时会显示“配置”窗格。
- 配置此窗格中的所有字段,如下表所述:
表 2. 字段 |
描述 |
文件名 |
指定用于定义要从 FTP 服务器获取的一个或多个文件名的模式或正则表达式。正则表达式的处理通过 FTP 服务器来进行。要了解更多的信息,请参阅关于正则表达式的 FTP 服务器文档。通常,FTP 服务器在其正则表达式中支持下列通配符:
注: 由于正则表达式的处理是在 FTP 服务器上进行的,因此是否区分大小写由 FTP 服务器来确定。
如果 FTP 服务器区分大小写,那么通过“FTP 轮询目录”活动进行的文件匹配也区分大小写。
|
目录 |
指定 Integration Appliance 查找 FTP 服务器上的文件所在的目录。可以使用下列选项之一指定目录:- 通过在字段中单击并输入下列目录路径之一直接输入目录路径:
- 相对目录路径,例如:/input。(假设 FTP 主目录已针对连接到 FTP 服务器的用户帐户进行了配置。请参阅下方的说明以获取更多信息。)
- 完整目录路径,例如在 UNIX® 机器上:/home/user/input。
- 单击浏览... 以填充可用目录的下拉列表。从下拉列表中选择相应的目录。
注: UNIX:如果在连接到 UNIX 机器上的 FTP 服务器时指定相对目录路径,请验证是否已针对连接到 FTP 服务器的用户帐户在 /etc/password 文件中正确指定了 FTP 主目录。
|
测试 |
在文件名字段中指定正则表达式并且在目录字段中指定用以查找 FTP 服务器上文件的目录后,单击测试以针对 FTP 服务器上指定目录中的文件集来测试正则表达式。 |
类型 |
指定如何读入文件的内容 - 以二进制数据或编码文本形式。如果选择了文本选项,请使用下列选项之一设置编码类型:- 从编码类型下拉列表中选择其中一种缺省编码类型。
- 通过在编码类型字段中单击,然后输入编码类型,直接输入编码类型。
警告: 如果在以 ASCII 方式与 FTP 端点之间来回传输数据时针对操作文本数据的端点检索文本文件并将文本文件放置在 FTP 服务器上,那么必须为 FTP 活动指定“以文本 (ASCII) 方式传输”选项。例如,在以 ASCII 方式传递数据时,大型机和 DOS FTP 端点操作 ASCII 数据。例如,如果编排使用“FTP 轮询目录”活动来检索 ASCII 文件并使用“FTP 放置文件”活动将 ASCII 文件放置到大型机 FTP 服务器,那么必须在 Studio 内的下列任务中指定选项:
- 在“FTP 轮询目录”活动的“配置”任务中,针对“类型”字段选择“文本”选项。
- 在“FTP 轮询目录”活动的“交付规则”任务中,针对“文件传输类型”字段选择“以文本 (ASCII) 方式传输”选项。
- 在“FTP 放置文件”活动的“配置”任务中,针对“类型”字段选择“文本”选项。
- 在“FTP 放置文件”活动的“交付规则”任务中,针对“文件传输类型”字段选择“以文本 (ASCII) 方式传输”选项。
|
读取文件后 |
将其删除 - 读取文件后删除该文件。 移至文件夹 - 读取文件后将文件移至指定目录。
使用下列选项之一指定运行时期间将文件移至的目录: - 通过在字段中单击并输入下列目录路径之一直接输入目录路径:
- 相对目录路径,例如:input/。(假设 FTP 主目录已针对连接到 FTP 服务器的用户帐户进行了配置。请参阅下方的说明以获取更多信息。)
- 完整目录路径,例如在 UNIX 机器上:/home/user/input/。
- 单击浏览... 以填充可用目录的下拉列表。从下拉列表中选择相应的目录。
注意: 在最后列出的目录名称后指定目录分隔符。例如,要将文件移至相对路径中的 processed/acme 目录,请在“移至目录”字段中指定以下目录:processed/acme/
可选 - 将文件重命名后指定文件名的格式。从 模式下拉列表中选择所需模式。要指定用于分隔文件名中子字段的字符,请在 模式分隔符字段中输入字符。
指定存在具有同一文件名的文件时的运行时行为: - 选中覆盖复选框,以指定如果同名文件已存在,那么应覆盖现有文件。
- 清除覆盖复选框,以指定如果同名文件已存在,也不应覆盖现有文件。
注: FTP 轮询目录活动在运行时期间首次轮询时,如果因为指定的移至目录不存在以致活动无法移至相应的文件,那么会向 Web 管理控制台 (WMC) 中记录警告(而不是错误),并且文件保持位置不变。对于所有后续轮询,活动不会尝试移动同一文件,并且会向 WMC 中记录信息级别消息,声明已对文件进行处理。
保持位置不变 - 读取文件后将文件保留在输入目录中。
|
高级选项 |
描述 |
重复列表大小 |
Integration Appliance 用于记录 FTP 服务器上已轮询或未轮询文件的内部列表的大小。缺省值为 10000。您应当仅指定大于缺省值的大小。 |
指定交付规则
- 从核对表中选择“交付规则”任务。此时会显示“交付规则”窗格。
- 指定对 FTP 服务器上的文件进行轮询的时间间隔:
- 从下拉菜单中选择时间单位:秒、分钟、小时或天。
- 通过在轮询时间间隔字段中单击并输入值或使用向上和向下箭头来指定时间量。
要了解更多的信息,请参阅轮询时间间隔行为。
- 如果未对 FTP 端点启用安全性,那么在“交付规则”任务中会启用“以文本 (ASCII) 方式传输”和“以二进制 (BINARY) 方式传输”选项。如果已对 FTP 端点启用安全性,那么文件传输类型始终为二进制。
从下列选项之一中选择 Integration Appliance 和 FTP 服务器之间的文件传输类型:
- 以文本 (ASCII) 方式传输 - 仅文件中各字符的七位会从 FTP 服务器传输到 Integration Appliance。此选项用于传输 ASCII 文件,如 HTML 和文本文件。警告:将此选项用于二进制文件会导致数据丢失。
- 以二进制 (BINARY) 方式传输 - 文件中各字节的全部八位均会从 FTP 服务器传输到 Integration Appliance。此选项用于传输二进制文件。
注: 在“传输规则”任务中设置传输方式与使用下列命令通过 FTP 服务器的命令行会话来设置传输方式等效:
指定重试选项
- 从核对表中选择重试任务。此时会显示“重试”窗格。
- 配置用于连接到 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 服务器建立连接。
|
映射活动的输出
- 在核对表中选择映射输出任务。活动的输出参数显示在“源活动”窗格中,如下表中所列:
表 4. 输出参数 |
描述 |
文件名 |
提供 FTP 服务器上找到的文件的名称。 |
数据 |
提供文件的内容。 |
timestamp |
以 XML 模式 dataType 格式(YYYY-MM-DDhh:mm:ss,其中 YY 表示年,MM 表示月,DD 表示日,hh 表示时区,mm 表示分,ss 表示秒)的字符串形式提供日期和时间。 注: 如果 timestamp 输出参数在映射输出任务中进行映射,但是 MDTM(返回文件的修改时间)功能不可用或未对 FTP 服务器启用,那么在运行时期间编排一定会由于此错误而停止处理。此时会生成警告并在 timestamp 输出参数中返回 Epoch 日期 (1/1/1970)。
|
- 您无需映射活动的输出参数。
请参阅创建映射,以获取有关映射的常规指示信息。