Skip to main content
Previous section

Settings for the FTP Outbound Adapter

Provides reference information for settings of the FTP outbound adapter, EnsLib.FTP.OutboundAdapter.

Summary

The outbound FTP adapter has the following settings:

The remaining settings are common to all business operations. For information, see “Settings for All Business Operations” in Configuring Productions.

Charset

Specifies the desired character set for the output file. InterSystems IRIS® automatically translates the characters to this character encoding. See “Charset” in “Settings for the FTP Inbound Adapter.”

Connect Timeout

Number of seconds to wait on each attempt to connect to the FTP server. The default is 5 seconds.

Credentials

Identifies a production credentials entry that can authorize a connection to the FTP server. See “Credentials” in “Settings for the FTP Inbound Adapter.”

File Name

Name of file to output the document(s) to. May include timestamp specifiers. The %f specifier, if present, will be replaced with the name of the document's original source filename (stripped of characters illegal in target filenames). See the method Ens.Util.File.CreateTimestamp() for documentation of timestamping options.

File Path

Full pathname of the directory on the FTP server in which to write files. This directory must exist, and it must be accessible using the Credentials provided.

FTP Port

Identifies the TCP port on the FTP server to connect to. The default value is 21.

FTP Server

Identifies the FTP server to connect to. This can be the IP address or server name, as long as the domain host controller can resolve the name.

Overwrite

True or False. If True, and the output file exists, overwrite it. If False, and the output file exists, append to it. The default is True.

Protocol

Indicates whether to use FTP (File Transfer Protocol) or SFTP (SSH File Transfer Protocol). If the protocol is FTP, it is possible to use the SSL Configuration setting to configure FTP over SSL. If the protocol is SFTP, then:

  • UsePASV and ServerListStyle settings are ignored.

  • FTP Port setting should ordinarily be set to 22.

  • You must supply a value for the Credentials setting.

  • If you supply values for the SFTPPublicKeyFile and SFTPPrivateKeyFile settings, the adapter attempts key pair authentication. It does this in conjunction with the username and password supplied via the Credentials setting, using the password in the Credentials as the passphrase for the private key. If you do not use the KeyFile settings, the adapter attempts only username/password authentication based on the Credentials setting.

In most cases, if this setting is blank, then FTP is used. However, if the value of the SSL Configuration setting is !SFTP, SFTP is used irrespective of the Protocol setting.

SFTP Append Mode

Controls whether to use the SFTP server append (Server mode) or to emulate an append on the client (Client mode). Some SFTP servers do not support append access. If you are using a server that does not support append, select Client mode and the FTP outbound adapter reads the file from the SFTP server, appends the data to the file and then sends the file back to the SFTP server overwriting the existing file. This setting is only meaningful if SSL Configuration is set to !SFTP and Overwrite is set to false.

A consequence of emulating an append is that if another process modifies the same file on the SFTP server between the time that the adapter reads the file and the time that it writes the file with the appended data, the updates from the other process are lost.

Note:

If you are unsure whether the SFTP server supports append access you can use a server append test that is accessible through a link on the SFTP Append Mode popup help text.

SFTPPrivateKeyFile

File path to a file containing the SSH private key certificate.

SFTPPublicKeyFile

File path to a file containing the SSH public key certificate.

SFTPSetFileAccessMode

SFTP File Access Mode specifies the access permissions to assign to the file on the remote system when transferred. It can be specified as either octal such as 0600, or symbolic such as u+rw,g+r. The default is 0600. If specifying octal, four digits are required. For symbolic and specifying “all,” use 'ugo'.

If an error occurs with the SetPermissions call (for example if the target file has been removed), the error is logged as a Warning and is not used to indicate the Put failed.

SSL Config

The name of an existing client SSL/TLS configuration to use to authenticate this connection. Choose a client rather than a server SSL/TLS configuration, because the adapter initiates the communication. See “SSL Config” in “Settings for the FTP Inbound Adapter.”

You can use the Protocol setting to use SFTP.

SSL Check Server Identity

When connecting to an FTP server via SSL/TLS, the server name in the certificate must match the DNS name used to connect to the server. This match is based on the rules in section 3.1 of RFC 2818.

Stay Connected

If a positive value, the adapter stays connected to the remote system for this number of seconds after completing an operation. A zero value means to disconnect immediately after every operation. The default of -1 means to stay permanently connected, even during idle times. Adapters are assumed idle at startup and therefore only auto-connect if they are configured with a value of -1.

TempFileName

Name of a temporary file to output the document(s) to. Upon completion of the upload the file with this name to the FTP server it is renamed to the name specified in the Filename setting. If this setting is blank no temporary file will be used. May include timestamp specifiers. The %f specifier, if present, will be replaced with the name of the document's original source filename (stripped of characters illegal in target filenames). See the method Ens.Util.File.CreateTimestamp() for documentation of timestamping options.

UsePASV

Use Passive FTP mode: server returns a data port address and the client connects to it. Most firewalls are more tolerant of Passive mode FTP because both the control and data TCP connections are initiated by the client.