fte: filespec Ant 嵌套元素

fte:filespec 参数用作为其他任务中的嵌套元素。 使用fte:filespec来描述一个或多个源文件、[z/OS] or data sets* 和目的地之间的映射。 该元素通常用于表达要移动或复制的一组文件或目录[z/OS]数据集

嵌套者:

源规范属性

您必须指定 srcfilespecsrcqueue 之一。
srcfilespec
指定文件操作的源。 该属性的值可包含通配符。
源队列
指定传输的源为队列。 传输会从存储在该属性指定的队列上的消息中移出数据。 如果 fte:filespec 任务嵌套在 fte:filecopy 任务中,那么您不能指定该属性。

当源代理为协议网桥代理时,不支持 srcqueue 属性。

目标规范属性

您必须指定 dstdir dstdsdstfilespacedstfiledstqueuedstpds 之一。
dstdir
指定目录作为文件操作的目标。
[z/OS]dstds
指定数据集作为文件操作的目标。

只有当目的地代理在 "z/OS®平台上运行时,才支持该属性。

dstfile
指定文件作为文件操作的目标。
dstfilespace
指定文件空间作为文件操作的目标。
仅当目标代理是有权访问 Web 网关文件空间的 IBM® MQ 8.0 Web 代理时,此属性才适用。
[z/OS]dstpds
指定分区数据集作为文件操作的目标。

只有当目的地代理在 "z/OS平台上运行时,才支持该属性。

dstqueue

指定队列作为文件到消息操作的目标。 您可以选择使用 QUEUE@QUEUEMANAGER 格式将队列管理器名称包含在此规范中。 如果未指定队列管理器名称,并且未将 enableClusterQueueInputOutput 代理属性设置为 true,那么将使用目标代理队列管理器。 如果enableClusterQueueInputOuput属性设置为 true,目标代理会使用标准IBM MQ程序来确定队列的位置。 必须指定队列管理器上已存在的有效队列名称。

如果您指定 dstqueue 属性,那么不能指定 srcqueue 属性,原因是这些属性互斥。

当目标代理为协议网桥代理时,不支持 dstqueue 属性。

源选项属性

源编码
可选。 用于传输文件的字符集编码。

仅当 转换 属性设置为值 text. 时,才能指定此属性

如果您不指定 srcencoding 属性,那么源系统的字符集会用于文本传输。
srceol
可选。 正在传输的文件所使用的行末定界符。 有效值如下:
  • CRLF - 使用回车字符后接换行字符作为行末定界符。 此规则通常用于 Windows 系统。
  • LF - 使用换行字符作为行末定界符。 此规则通常用于 UNIX 系统。
仅当 conversion 属性值设置为 text 时,才可以指定该属性。 如果您不指定 srceol 属性,那么文本传输会基于源代理的操作系统自动确定正确的值。
[z/OS]Srckeeptrailingspaces
可选。 确定在从固定长度格式的数据集读取的源记录上是否保留尾部空格作为文本方式传输的一部分。 有效值如下:
  • true - 保留尾部空格。
  • false - 删除尾部空格。
如果您不指定 srckeeptrailingspaces 属性,那么会指定缺省值 false

仅当还指定了 srcfilespec 属性并且将 转换 属性设置为值 text. 时,才能指定此属性

srcmsgdelimbytes
可选。 指定一个或多个字节的值,以在将多条消息追加到二进制文件时作为定界符插入。 每个值必须指定为两个十六进制数字(00 到 FF 之间)并以 x 为前缀。 多个字节必须以逗号分隔。 例如,srcmsgdelimbytes=x08,xA4。 仅当同时指定了 srcqueue 属性时,才可以指定 srcmsgdelimbytes 属性。 如果已将 conversion 属性值指定为 text,那么不能指定 srcmsgdelimbytes 属性。
srcmsgdelimtext
可选。 指定一个文本序列,以在将多条消息追加到文本文件时作为定界符插入。 可将字符串字面值的 Java 转义序列包含在定界符中。 例如,srcmsgdelimtext=\u007d\n。 文本定界符由源代理插入在每条消息之后。 文本定界符使用传输的源编码来编码为二进制格式。 每条消息均以二进制格式读取,编码的定界符以二进制格式追加到消息,从而以二进制格式传输至目标代理。 如果源代理代码页包含移入和移出状态,那么代理假定每条消息在消息结束时进入移出状态。 在目标代理上,以与文件相同的方式将二进制数据转换为文件文本传输。 仅当同时指定了 srcqueue 属性,并且将 conversion 属性的值指定为 text 时,才可以指定 srcmsgdelimtext 属性。
srcmsgdelimposition
可选。 指定文本或二进制定界符插入的位置。 有效值如下:
  • prefix - 定界符插入目标文件中来自每条消息的数据之前的位置。
  • postfix - 定界符插入目标文件中来自每条消息的数据之后的位置。

仅当指定了 srcmsgdelimbytessrcmsgdelimtext 属性时,才可以指定 srcmsgdelimposition 属性。

srcmsggroups
可选。 指定按 IBM MQ 组标识对消息进行分组。 第一个完整组将写入目标文件。 如果未指定该属性,那么源队列上的所有消息都会写入目标文件。 仅当同时指定了 srcqueue 属性时,才可以指定 srcmsggroups 属性。
srcqueuetimeout
可选。 指定等待以下某个条件得以满足的时间(秒):
  • 等待新消息写入队列。
  • 如果已指定 srcmsggroups 属性,那么等待完整的组写入队列。
如果在 srcqueuetimeout 的值指定的时间内没有任何条件得到满足,那么源代理会停止从队列读取,并完成传输。 如果未指定 srcqueuetimeout 属性,那么当源队列为空时,或者当队列上没有完整的组并指定了 srcmsggroups 属性时,源代理会立即停止从源队列读取。 仅当同时指定了 srcqueue 属性时,才可以指定 srcqueuetimeout 属性。

有关设置 srcqueuetimeout 值的信息,请参阅 关于在消息到文件传输上指定等待时间的指导

[z/OS]srcrecdelimbytes
可选。 指定一个或多个字节的值,以在将多条记录从面向记录的源文件追加到二进制文件时作为定界符插入。 必须将每个值指定为 00-FF 范围内的两个十六进制数字,前缀为 x。 多个字节必须以逗号分隔。 例如:
srcrecdelimbytes="x08,xA4"
仅当传输源文件面向记录(例如 z/OS 数据集),并且目标文件为正常的、非面向记录的文件时,才可以指定 srcrecdelimbytes 属性。 如果已针对 conversion 属性指定值 text,那么不能指定 srcrecdelimbytes 属性。
srcrecdelimpos
可选。 指定二进制定界符插入的位置。 有效值如下:
  • prefix - 定界符插入目标文件中来自每条面向记录的源文件记录的数据之前的位置。
  • postfix - 定界符插入目标文件中来自每条面向记录的源文件记录的数据之后。
仅当同时指定了 srcrecdelimbytes 属性时,才可以指定 srcrecdelimpos 属性。

目标选项属性

dstencoding
可选。 用于传输的文件的字符集编码。

仅当 转换 属性设置为值 text. 时,才能指定此属性

如果未指定 dstencoding 属性,那么目标系统的字符集会用于文本传输。
dsteol
可选。 用于传输的文件的行末定界符。 有效值如下:
  • CRLF - 使用回车字符后接换行字符作为行末定界符。 此规则通常用于 Windows 系统。
  • LF - 使用换行字符作为行末定界符。 此规则通常用于 UNIX 系统。

仅当 转换 属性设置为值 text. 时,才能指定此属性

如果您不指定 dsteol 属性,那么文本传输会基于目标代理程序的操作系统自动确定正确的值。
dstmsgdelimbytes
可选。 指定将二进制文件分割为多条消息时使用十六进制定界符。 所有消息都具有相同的 IBM MQ 组标识; 该组中的最后一条消息设置了 IBM MQ LAST_MSG_IN_GROUP 标志。 将十六进制字节指定为定界符的格式为 xNN,其中 N 是范围在 0 - 9 或 a - f 内的字符。 您可以通过指定十六进制字节的逗号分隔列表(例如:x3e,x20,x20,xbf),将一系列十六进制字节指定为定界符。

仅当同时指定了 dstqueue 属性并且以二进制方式进行传输时,才可以指定 dstmsgdelimbytes 属性。 您只能指定 dstmsgsizedstmsgdelimbytesdstmsgdelimpattern 属性之一。

dstmsgdelimpattern
可选。 指定将文本文件分割为多条消息时使用 Java 正则表达式。 所有消息都具有相同的 IBM MQ 组标识; 该组中的最后一条消息设置了 IBM MQ LAST_MSG_IN_GROUP 标志。 指定正则表达式作为定界符的格式为以括号括起的正则表达式 (regular_expression),或者以双引号括起的正则表达式 regular_expression。 有关更多信息,请参阅 MFT 使用的正则表达式

缺省情况下,目标代理将正则表达式可匹配的字符串的长度限制为 5 个字符。 您可使用 maxDelimiterMatchLength 代理属性来更改此行为。 有关更多信息,请参阅 MFT 高级代理属性

仅当同时指定了 dstqueue 属性并且以文本方式进行传输时,才可以指定 dstmsgdelimpattern 属性。 您只能指定 dstmsgsizedstmsgdelimbytesdstmsgdelimpattern 属性之一。

dstmsgdelimposition
可选。 指定期望文本或二进制定界符所在的位置。 有效值如下:
  • prefix - 期望定界符位于每行开头。
  • postfix - 期望定界符位于每行末尾。

仅当同时指定了 dstmsgdelimpattern 属性时,才可以指定 dstmsgdelimposition 属性。

dstmsgincludedelim
可选。 指定用于将文件分割为多条消息的定界符是否要包括在消息中。 如果已指定 dstmsgincludedelim 属性,那么定界符包含在包含定界符前的文件数据的消息末尾。 缺省情况下,消息中不包含定界符。 仅当同时指定了 dstmsgdelimpatterndstmsgdelimbytes 属性时,才可以指定 dstmsgincludedelim 属性。
dstmsgpersist
可选。 指定写入目标队列的消息是否持久。 有效值如下:
  • true - 将持久消息写入到目标队列。 这是缺省值。
  • false - 将非持久消息写入到目标队列。
  • qdef - 持久性值取自目标队列的 DefPersistence 属性。

仅当同时指定了 dstqueue 属性时,才可以指定该属性。

dstmsgprops
可选。 指定传输写入目标队列的第一条消息是否设置了 IBM MQ 消息属性。 可能的值为:
  • true - 在传输创建的第一条消息上设置消息属性。
  • false - 不在传输创建的第一条消息上设置消息属性。 这是缺省值。
有关更多信息,请参阅 MFT 对写入目标队列的消息设置的 MQ 消息属性

仅当同时指定了 dstqueue 属性时,才可以指定该属性。

dstmsgsize
可选。 指定是否将文件分割为多条固定长度的消息。 所有消息都具有相同的 IBM MQ 组标识; 组中的最后一条消息设置了 IBM MQ LAST_MSG_IN_GROUP 标志。 消息的大小由 dstmsgsize 的值指定。 dstmsgsize 的格式为 lengthunits,其中 length 是正整数,units 是以下某个值:
  • B - 字节。 允许的最小值是目标消息的代码页的最大“每个字符的字节数”值的两倍。
  • K - 千字节。 等于 1024 字节。
  • M - 兆字节。 等于 1024 千字节。
如果文件以文本方式传输,并且采用双字节字符集或者多字节字符集,那么该文件会拆分为字符边界最接近指定消息大小的消息。

仅当同时指定了 dstqueue 属性时,才能指定 dstmsgsize 属性。 您只能指定 dstmsgsizedstmsgdelimbytesdstmsgdelimpattern 属性之一。

d惊呆代码页
可选。 指定 dstqueue 属性指定的目标队列管理器不支持将文件数据作为文本传输至队列时所使用的代码页时采取的操作。 该属性的有效值如下:
  • binary - 继续传输,但是不将代码页转换应用到传输的数据。 指定该值等于不将转换属性设置为 text
  • fail - 不继续传输操作。 文件记录为传输失败。 这是缺省值。
仅当同时指定了 dstqueue 属性,并且 conversion 属性的值为 text 时,才可以指定 dstunsupportedcodepage 属性。
[z/OS]dsttruncaterecords
可选。 指定将截断长于 LRECL 数据集属性的目标记录。 如果设置为 true,将截断记录。 如果设置为 false,将记录文本换行。 缺省设置为 false。 该参数仅对目标是数据集的文本方式传输有效。

其他属性

校验和
可选。 确定用于对传输文件进行校验和的算法。
  • MD5 - 使用 MD5 散列算法。
  • NONE - 不使用校验和算法。
如果您不指定 checksum 属性,那么会使用缺省值 MD5
转换
可选。 指定应用于正在传输的文件的转换类型。 可能的值为:
  • binary - 不应用转换。
  • text - 在源系统和目标系统之间应用代码页转换。 同时应用行定界符的转换。 srcencodingdstencodingsrceoldsteol 属性会影响所应用的转换。
如果您不指定 conversion 属性,那么会指定缺省值 binary
overwrite
可选。 确定操作是否可以覆盖现有目标文件[z/OS] or data set。 当指定的值为true 时,任何现有的目标[z/OS] or data sets* 都会被覆盖。 当指定的值为false 时,如果目的地存在重复[z/OS] or data set*,则操作会失败。 如果未指定 overwrite 属性,那么会指定缺省值 false
递归
可选。 确定文件传输是否递归至子目录中。 指定值为 true 时,传输递归至子目录中。 指定值为 false 时,传输不会递归至子目录中。 如果未指定 recurse 属性,那么会指定缺省值 false

示例

此示例指定具有源文件 file1.bin 和目标文件 file2.bin.fte: filespec
<fte:filespec srcfilespec="/home/fteuser/file1.bin" dstfile="/home/fteuser/file2.bin"/>