FTP 服务器策略 (FtpServer)

使用 FTP 服务器策略为消息流配置 FTP , FTPS 或 SFTP 文件传输。

您可以在消息流中使用 FileInput 节点来处理从文件读取的消息,并使用 FileOutput 节点将消息写入文件。 使用 FileExists 节点可检测可由 FileRead 节点读取的文件。 可以使用 FTP 服务器策略在运行时控制 File 节点用于对文件执行读写操作的远程服务器的连接详细信息。

要将 FTP 服务器策略附加到文件节点,请将 FileInput, FileOutput, 或 FileRead 节点的 Remote server and port 属性设置为策略名称,格式为 {policyProjectName}:policyName. 您必须先部署此策略,然后再启动关联消息流。

如果重新部署 FtpServer 策略,那么将停止并重新启动使用该策略的所有消息流。

FileInput, FileOutputFileRead 节点可以使用 FTPS 安全地传输文件。 使用 FTPS 时,外部 FTPS 服务器必须支持通过 TLS 的显式 FTP 以及使用 PASV 来获取数据套接字。 启用 FTPS 时,将使用集成服务器的密钥库和信任库来处理 SSL 握手。 有关设置密钥库和信任库的更多信息,请参阅 在集成服务器级别查看和设置密钥库和信任库运行时属性

下表描述了此策略的属性。
表 1. FTP 服务器策略的属性
属性 .policyxml 文件中的属性名
FTP 服务器名称 fileFtpServer 此必需属性指定远程 FTP 服务器的 IP 地址和 (可选) 端口号。 该属性的语法与 FileInputFileExistsFileOutput节点的 FTP 服务器和端口属性的语法相同(除了它不能是 FTP 服务器策略的名称)。

值类型:字符串

帐户信息 fileFtpAccountInfo 某些 FTP 服务器在 FTP 登陆过程中需要帐户名。 如果指定了此属性,那么该值是在 FTP 登录期间请求时所提供的帐户名称。 如果未指定此属性,并且服务器请求帐户名称,那么 FTP 传输将失败。

值类型:字符串

远程 FTP 服务器目录 fileFtpDirectory 此属性指定远程 FTP 服务器上的相对或绝对目录名。 如果设置了该属性,它将覆盖使用该策略的 文件输入文件存在FileOutput 节点的 服务器目录 标签上的 文件传输协议 属性。

值类型:字符串

FTP 安全身份 fileFtpUser 此属性指定用于认证与 FTP 服务器的连接的安全身份名称。 如果设置了该属性,它将覆盖使用该策略的 文件输入文件存在FileOutput 节点的 安全身份 标签上的 文件传输协议 属性。 如果此属性的值为 secId,请使用以下命令定义安全身份:
  • 如果使用的是 FTP:
    mqsisetdbparms -w workDir
    -n ftp::secId -u userName 
    -p password
  • 如果使用的是 SFTP:
    mqsisetdbparms -w workDir
    -n sftp::secId -u userName 
    -p password 
    或者
    mqsisetdbparms -w workDir
    -n sftp::secId -u userName 
    -i SSHIdentityFile 
    -r Passphrase

值类型:字符串

传输方式 fileFtpTransferMode 此属性指定 FTP 连接的传输方式。 有效值为 BINARY(缺省值)或 ASCII。 如果设置了此属性,那么此属性将覆盖使用此策略的 FileInputFileOutput 节点的 FTP 选项卡上的 传输方式 属性。

仅当将 FTP 或 FTPS 指定为协议时,此属性才有效。 如果指定了 SFTP,那么会忽略此属性。

此属性不适用于 FileExists 节点,因为检测文件时不会传输任何文件。

值类型:字符串

扫描延迟(秒) fileFtpScanDelay 此属性指定在目录的扫描未标识任何要处理的文件之后要等待的时间 (以秒计)。 缺省值为 60 秒。 如果设置了此属性,那么此属性将覆盖 FileInput 节点或使用此策略的 FileExists 节点的 FTP 选项卡上的 扫描延迟 属性。

值类型:整数

连接类型 fileFtpConnectionType 此属性指定 FTP 数据套接字连接。 有效值为 PASSIVE(缺省值)或 ACTIVE。

仅当将 FTP 或 FTPS 指定为协议时,此属性才有效。 如果指定了 SFTP,那么会忽略此属性。

值类型:字符串

严格主机密钥检查 strictHostKeyChecking 此属性指定在连接和认证阶段期间如何检查主机密钥。 有效值为:
False(缺省值)
此值指定将完成以下操作:
  • 如果是连接到新主机,请连接并接受主机密钥,然后将其存储。
  • 如果连接到先前已连接到的主机,并且主机密钥已更改,请发出异常 (在 FileOutput 节点中)。
如果选择 False,那么会使用缺省已知主机文件。
True
此值指定只与具有有效密钥的已知主机建立连接;否则将发出异常。

如果选择 True,那么必须使用 Location of the known hosts file 属性指定您自己的已知主机文件。

主机信息以 OpenSSL PEM 格式存储在 known_hosts 文件中。

仅当指定 SFTP 作为协议时,此属性才有效。 如果使用 FTP 或 FTPS,那么将忽略此属性。

值类型:布尔值

加密密码 allowedCiphers 此属性指定用于加密的密码,该密码由以下一个或多个值组成,以加号 (+) 分隔:
  • blowfish-cbc
  • 3des-cbc
  • aes128-cbc
  • aes192-cbc
  • aes256-cbc
  • aes128-ctr
  • aes192-ctr
  • aes256-ctr
  • 3des-ctr
  • arcfour
  • arcfour128
  • arcfour256
用于加密的密码取决于 SSH 实施。 请按首选项的顺序列出这些值。 如果不为此属性指定值,那么将使用以下缺省值:blowfish-cbc+3des-cbc+aes128-cbc+aes192-cbc+aes256-cbc+aes128-ctr+aes192-ctr+aes256-ctr+3des-ctr+arcfour+arcfour128+arcfour256

仅当指定 SFTP 作为协议时,此属性才有效。 如果使用 FTP 或 FTPS,那么将忽略此属性。

值类型:字符串

压缩级别 fileFtpCompression

此属性指定使用的压缩级别。 有效值是范围 0 到 9 内的整数,其中 0 为缺省值,指定无压缩,9 指定最大压缩。

仅当指定 SFTP 作为协议时,此属性才有效。 如果使用 FTP 或 FTPS,那么将忽略此属性。

值类型:整数

远程传输协议 remoteTransferType 此属性指定要使用的远程传输协议。 有效值为 FTP (缺省值) , FTPS 或 SFTP。 如果在策略中未指定协议,那么会使用节点中指定的值。

值类型:字符串

已知主机文件的位置 knownHostsFile 此属性指定 known_hosts 文件的位置。 该值必须是有效的已知主机文件的标准路径。 主机信息以 OpenSSL PEM 格式存储在 known_hosts 文件中。

严格主机密钥检查属性设置为 True 时,此属性是必需的。 如果严格主机密钥检查属性设置为 False,那么将忽略此属性。

仅当指定 SFTP 作为协议时,此属性才有效。 如果使用 FTP 或 FTPS,那么将忽略此属性。

值类型:字符串

消息认证代码 mac 此属性指定消息认证代码,该代码由以下一个或多个值组成,以加号 (+) 分隔:
  • hmac-md5
  • hmac-sha1
  • hmac-sha2-256
  • hmac-sha2-512
  • hmac-sha1-96
  • hmac-md5-96
使用的消息认证代码取决于 SSH 实施。 请按首选项的顺序列出这些值。 如果未指定此属性的值,那么将使用以下缺省值: hmac-md5+hmac-sha1+hmac-sha2-256+hmac-sha2-512+hmac-sha1-96+hmac-md5-96

仅当指定 SFTP 作为协议时,此属性才有效。 如果使用了 FTP,那么会忽略此属性。

值类型:字符串

超时(秒) timeoutInterval 此属性指定与远程 FTP , FTPS 或 SFTP 服务器建立连接的超时值 (以秒计)。 您可以将此属性设置为任何有效整数。 此属性的缺省值为 0,指示不存在超时。

值类型:整数

保留远程文件日期 preserveRemoteFileDate 此属性指定 FileInput 节点从远程服务器检索的文件是否保留服务器上的上次修改日期。

缺省值为 false。 如果选择 True,那么 FileInput 节点将完成相应的解析以确定处理期间的远程文件日期。 在远程服务器支持 MDTM 命令的情况下会使用该命令。 如果不支持 MDTM 命令,那么会使用列表文本。

从列表文本进行解析时,精度仅限于以远程服务器所使用的特定列表格式提供的信息。 如果列表格式不明确,那么 FileInput 节点将根据 集成服务器的语言环境设置进行解析。 如果无法从远程服务器可靠地确定日期,那么将发出异常,并且不会处理该消息。

值类型:布尔值

SSL 协议 sslProtocol 使用 FTPS 传输文件时要使用的 SSL 协议。

缺省值为 TLSv1.2。

可能的值是:
  • SSL
  • SSLv3
  • TLS
  • TLSv1
  • TLSv1.1
  • TLSv1.2
  • SSL_TLS
  • SSL_TLSv2
  • DEFAULTPROTOCOL

缺省情况下,某些协议处于禁用状态。 有关受支持的协议的列表,请参阅相应级别的 IBM SDK Java™ Technology Edition 联机产品文档。 例如,对于 Java 8 ,请参阅 协议

HTTPProxy 策略名称 proxyPolicyName

HTTPProxy 策略名称属性指定 HTTPProxy 策略名称,格式为: {PolicyProjectName}:HTTPProxyPolicyName。 对于 SFTP 连接,代理服务器详细信息将来自指定的 HTTPProxy 策略。

仅当指定 SFTP 作为协议时,此属性才有效。 如果使用 FTP 或 FTPS,那么将忽略此属性。

值类型:字符串