Uploads and downloads data from an FTP server. The transformer allows uploads from attribute values or from a file. Remote files may be downloaded into a local file, or into a feature attribute. The transformer also supports deleting remote files.
The transformer supports the ftp, ftps and sftp protocols.
Implicit and Explicit FTPS
FTPS supports two methods of invoking TLS encryption: implicit mode and explicit mode. The transformer will use the explicit mode in the following cases:
- The URL begins with ftpes: ftpes://hostname/path
- The URL begins with ftps but also sets the port to 21: ftps://hostname:21/path
In all other cases, if the URL begins with ftps, the implicit mode will be used.
Features which have been successfully processed will be output through this output port.
If an FTP operation fails for any reason, the feature will be output through this output port. An error message will be placed in the attribute named in the Error Attribute parameter.
This parameter is used to specify a remote file on the FTP server.
Note that the destination URL must be a file, not a folder.
The Transfer Type parameter indicates the type of FTP operation the transformer will execute. The set of possible operations is:
- Download to an Attribute: The remote file specified in the URL parameter will be downloaded into the attribute specified in the Target Attribute parameter. The attribute will be tagged with the encoding named in the Attribute Encoding parameter – no actual encoding conversion will be performed.
- Download to a File: The remote file specified in the URL parameter will be downloaded to the local file named in the Target File parameter. If the local file already exists, it will be overwritten with the contents of the remote file. The value of the File Path Attribute will be set to the path of the downloaded file.
- Upload from an Attribute: The data given in the Upload Data parameter will be uploaded to the remote file specified in the URL parameter.
- Upload from a File: The local file named in the File to Upload parameter will be uploaded to the remote file specified in the URL parameter. If the local file does not exist, the feature will be output through the <Rejected> output port.
- Delete a Remote File: The remote file specified in the URL parameter will be deleted from the FTP server.
Use this parameter to control the type of connection which is used to transfer data between FME and the FTP server. When Active is selected, the server will connect to FME when transferring data. When Passive is selected, the connection is reversed and FME connects to the server. Some servers and network firewalls only allow one of these connection types, so a failed transfer can sometimes be fixed by changing the connection type. The most commonly used connection type is Passive, which is the default value of this parameter.
An FTP upload or download can be performed in binary mode or ASCII mode. When using ASCII mode, the FTP server may perform some text conversions. For example, to convert UNIX line terminators into Windows line terminators, or vice-versa. When using binary mode, all data will be transferred without any modifications. By default, binary mode is used, which should be acceptable in almost all situations.
If this parameter is set to Yes, the transformer will verify SSL certificates when connecting to an FTPS server. This is done in two stages:
- Ensure that the certificate is for the host we are trying to connect to.
- Ensure that the certificate is valid.
Features output though the <Rejected> output port will have an error message in the attribute named by this parameter.
This parameter determines how the connection to the FTP server is authenticated.
This is the username of the user which will be accessing the FTP server. This parameter is only used when Authentication Type is not None / Anonymous.
This is the password of the user which will be accessing the FTP server. This parameter is only used when Authentication Type is Password.
Select the proxy type which will be used in this transformer. If None is selected, no proxy will be used. If Use FME Network Proxy Settings is selected, the proxy settings defined in the FME Settings page will be used. If Native FTP Proxy is selected, the transformer will use an FTP proxy configured using the other parameters in this section.
This is the hostname of the proxy server which will be used.
This is the username of the user which will be accessing the proxy server. This can be different than the username used when accessing the FTP server.
This is the password of the user which will be accessing the proxy server.
Editing Transformer Parameters
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
There are several ways to define a value for use in a Transformer. The simplest is to simply type in a value or string, which can include functions of various types such as attribute references, math and string functions, and workspace parameters. There are a number of tools and shortcuts that can assist in constructing values, generally available from the drop-down context menu adjacent to the value field.
Using the Text Editor
The Text Editor provides a convenient way to construct text strings (including regular expressions) from various data sources, such as attributes, parameters, and constants, where the result is used directly inside a parameter.
Using the Arithmetic Editor
The Arithmetic Editor provides a convenient way to construct math expressions from various data sources, such as attributes, parameters, and feature functions, where the result is used directly inside a parameter.
Set values depending on one or more test conditions that either pass or fail.
Expressions and strings can include a number of functions, characters, parameters, and more.
When setting values - whether entered directly in a parameter or constructed using one of the editors - strings and expressions containing String, Math, Date/Time or FME Feature Functions will have those functions evaluated. Therefore, the names of these functions (in the form @<function_name>) should not be used as literal string values.
|These functions manipulate and format strings.|
|A set of control characters is available in the Text Editor.|
|Math functions are available in both editors.|
|Date/Time Functions||Date and time functions are available in the Text Editor.|
|These operators are available in the Arithmetic Editor.|
|These return primarily feature-specific values.|
|FME and workspace-specific parameters may be used.|
|Creating and Modifying User Parameters||Create your own editable parameters.|
Dialog Options - Tables
Transformers with table-style parameters have additional tools for populating and manipulating values.
Enabled once you have clicked on a row item. Choices include:
Cut, Copy, and Paste
Enabled once you have clicked on a row item. Choices include:
Cut, copy, and paste may be used within a transformer, or between transformers.
|Start typing a string, and the matrix will only display rows matching those characters. Searches all columns. This only affects the display of attributes within the transformer - it does not alter which attributes are output.|
|Import populates the table with a set of new attributes read from a dataset. Specific application varies between transformers.|
Generally resets the table to its initial state, and may provide additional options to remove invalid entries. Behavior varies between transformers.
Note: Not all tools are available in all transformers.
FME Licensing Level
FME Professional edition and above
The FME Community is the place for demos, how-tos, articles, FAQs, and more. Get answers to your questions, learn from other users, and suggest, vote, and comment on new features.
Search for samples and information about this transformer on the FME Community.