FTP(S) reader
Polls an FTP directory for files matching specified criteria. When a matching file is found on the server, it is downloaded either to a file or to memory.
note
An FTP(S) reader may function as an entry point or as an activity in an
Adapterflow. Note that the two alternatives are suitable for
different user scenarios and also have slightly
different parameters.
To view FTP(S) reader as an ordinary activity, see FTP(S) reader as activity.
Impact on Adapterflow data stream: Yes.
The content of the found file is written to the data stream. Previous
data in the data stream is overwritten.
Remarks
General
Note that directory paths on server side may be case sensitive.
User scenarios
Scenario | Recommended procedure |
---|---|
Fetching specific files | Use an Event listener as entry point, and add FTP(S) reader as an activity. Optional: supply the Event listener with parameters describing the file which should be fetched. Each time the Event is activated, 1 file will be fetched (if found). |
Short poll interval / always on | Use FTP(S) reader as entry point. FTP(s) reader will poll for files and restart after a file has been found. |
Batch fetch, long poll interval (every hour / once a day) | Use a Script or Workflow instead of an Adapterflow if you need to fetch batches of files from a directory or FTP server at a certain time or with a certain poll interval. Since Adapterflows are non-iterable, they are not suitable for this purpose. |
FTP(S) reader as entrypoint
In parameters
Activity
Name | Type | Description |
---|---|---|
Description | StringValue | Description of the activity. |
Name | StringValue | Name of the activity. The name has to be unique in the Workflow. The name is used as identifier of the activity in activity binding. |
Client side
Name | Type | Description |
---|---|---|
Delete local file | BoolValue | Specifies whether the found file is to be deleted after the activity is finished. True means file will be deleted (default). |
Save to disc | BoolValue | Specifies whether the found file is to be saved to directory specified in Local directory. True means files will be saved. Default: False. If set to True but Local directory is not specified, files will be saved in a temporary directory for large files. |
Local directory | ActivityComplexValue of DirectoryPathValue | Directory where found file will be downloaded. Bindable. |
Local file name | ActivityComplexValue of FilePathValue | Name that the downloaded file will get. If left empty, the file will keep its original name. Bindable. |
Connection
Name | Type | Description |
---|---|---|
Server | ActivityComplexValue of StringValue | Name or IP address of server to connect to. Bindable. |
Port | IntegerValue | Port to be used for connection. Default: 21 Bindable. |
User | StringValue | User name to be used to log on to the account on the FTP server. Bindable. |
Password | PasswordValue | Password to be used to log on to the account on the FTP server. Bindable. |
Connection - advanced
Name | Type | Description |
---|---|---|
Passive FTP mode | BoolValue | Specifies whether passive FTP mode is to be used. True means it will be used (Default). Bindable. |
Connection timeout | IntegerValue | A connection time period (in milliseconds) that applies to:
Bindable. |
List method | FtpListMethod | Type |
List entry format | ListEntryFormat | Specifies interpretation of list entries received from server. Bindable. |
Server directory separator | StringValue | Character used by server to separate directories. Default: / Bindable. |
Retries | IntegerValue | Number of times the activity will retry to issue a failed command before an error occurs. Default: 0 Bindable. |
Time between retries | IntegerValue | Time in seconds to wait between each retry. Default: 0 Bindable. |
Trace | BoolValue | Enables/disables tracing of sent and received FTP commands to a file. True means tracing is enabled. Default: False Bindable. |
Trace file | ActivityComplexValue of FilePathValue | The file where traced commands are to be saved. Bindable. |
Ignore error codes | StringValue | Specifies error codes (not specified by the FTP protocol) that may be returned from the FTP server when listing files and there are no files to return. The specified error codes will be ignored when returned. Fill in codes to be ignored as comma separated list. Example: 500, 503, 550 Bindable. |
List is case sensitive | BoolValue | Specifies whether file lists are handled as case sensitive. True means lists will be case sensitive. Bindable. |
Remote code page | CodePageIDValue | Specifies the code page/charset to be used by the remote server. If not specified, 20127 (US-ASCII) is used. Bindable. |
Buffer size | IntegerValue | Specifies the buffer size when retrieving data from the server. The value is specified in bytes. Default: 262144 Bindable. |
Account info (ACCT) | StringValue | Specifies account info to be sent using ACCT command. Bindable. |
Speed limit | IntegertValue | Specifies the maximum number of bytes per second that can be received from the server. A value of 0 (zero) means unlimited. Default: 0 Bindable. |
Use IPv6 | BoolValue | Specifies if IPv6 should be used to communicate with the server. Default: False Bindable. |
Use FEAT | BoolValue | Specifies if FEAT Command should be used for determining which features are implemented by the server. Default: True Bindable. |
Virtual host name | StringValue | Specifies the name of the host to send using the HOST command. Bindable. |
Connection - SSL
Name | Type | Description |
---|---|---|
Encrypt data channel | BoolValue | Specifies whether encryption of data channel is to be enabled. True means encryption is enabled. Default: False. Bindable. |
Use SSL | BoolValue | Specifies whether SSL is to be enabled. True means SSL is enabled. Default: False Bindable. |
Auth command | FTPSAuthCmd | Authorization command to be sent to server to request an explicit SSL session. Options are:
Bindable. |
Versions | SSLTLSVersionsValue | SSL/TLS version to be used. More than one option can be selected. Default is TLS 1.3, TLS 1.2. For more information, see General information about SSL and TLS. Bindable. |
SSL mode | SSLMode | Specifies whether explicit or implicit SSL mode is to be used. Default: Implicit Bindable. |
Certificate | CertificateValue | The client certificate that the server may request. Use browser button to select certificate. To list all available stores, you may need to start the Adapterflow Wizard with elevated privileges. When the Adapterflow is executed, the service must have the appropriate privileges to access the certificate. For more information, see Troubleshooting. Bindable. |
Use SSL Session Resumption | BoolValue | Specifies if SSL Session Resumption should be used. Default: False Bindable. |
Connection - SSL Certificate validation
Name | Type | Description |
---|---|---|
Trusted storage | CertStoreValue | The certificate storage containing trusted certificates for validation of server certificate, located in Windows system certificate storages. Use browser to select trusted storage. Bindable. |
Host role | FTPSHostRole | The role of the remote host. The Host role is validated when the remote host sends its certificate to the client for validation. Options are:
|
Enable | BoolValue | Enables/disables validation of remote servers certificate. Disabling validation implies that all received certificates will be accepted without any validation. Default: True Bindable. |
Options | ServerCertificateValidationOptionsValue | Specifies the validation errors to be ignored. Options are:
|
Use system storages | BoolValue | Specifies whether Windows system storages will be used during validation. If set to True, Windows system stores will be used when searching for CA and root certificates and when checking if certificate is trusted of blocked. If set to False, you have to specify a trusted store through the Trusted storage property. It is possible to specify an additional trusted store besides the stores in the Windows system storages that are considered trusted. Note that it is likely that validation will be slower when using system stores. Default: True Bindable. |
Server side
Name | Type | Description |
---|---|---|
Rename file | BoolValue | Specifies whether file from server is to be renamed before it is downloaded. True means file is to be renamed. Default: False |
Move file to directory | ActivityComplexValue of DirectoryPathValue | Directory where the file is to be moved before it is downloaded. Note: The directory path may be case sensitive. Bindable. |
Delete server file | BoolValue | Specifies whether file is to be deleted on server after the activity has been successfully completed. True means file is to be deleted (default). |
Standard
Name | Type | Description |
---|---|---|
Server directory | ActivityComplexValue of FTPSDirectoryPathValue | Path to server directory to be scanned, for example /ScanDir. Note: The directory path may be case sensitive. Bindable. |
Server filter | ActivityComplexValue of StringValue | Filter applied on NLST command to server, for example *.* or *.xml Note: The filter may be case sensitive. Bindable. |
Client filter | ActivityComplexValue of RegExpStringValue | Regular expression applied as filter on files returned by server (case insensitive), for example \b[a-z0-9]+.txt Bindable. |
Scan interval | IntegerValue | Time interval in seconds between file searches. Default: 30 Note: The Scan interval value must be greater than the Settle time value. If both properties have fixed values, this is validated during design time. If one or both values are set via activity binding or code expressions, there is no validation at design time. The values are then validated at runtime. If Scan interval is less than Settle time at runtime, the Scan interval value will be changed to Settle time value + 1 second and a warning will be logged. Bindable. |
Settle time | IntegerValue | The time in milliseconds that a file must have been untouched by any events before it can be processed. Default: 0 Note: See note for Scan interval above. Bindable |
Transfer type | FtpTransferMode | Specifies how data is to be transferred. The options are:
|
New event on each run | BoolValue | Specifies whether to create a new event each time the Adapterflow is triggered. Bindable. |
Out parameters
Standard
Name | Type | Description |
---|---|---|
Local filepath Out | FilePathValue | The full path to the file on the client. |
Local filename Out | FilePathValue | The name of the file on the client (no directory path). |
Processing filepath Out | FilePathValue | The full path and name of the file on the server after it was renamed and/or moved. |
Processing filename Out | FilePathValue | The name of the file on the server after it was renamed and/or moved (no directory path). |
Original filepath Out | FilePathValue | The full path and name of the file on the server before it was renamed and/or moved. |
Original filename Out | FilePathValue | The name of the file on the server before it was renamed and/or moved (no directory path). |
Init parameters Out | String | The init parameters received from the creator of the event. |
Run parameters Out | String | The run parameters received from the creator of the event. |
Event parameters Out | StringValue | Event parameters received from the creator of the event. |
Event Node ID Out | Int32 | Node id received from the creator of the event. |
FTP(S) reader as activity
Activity
Name | Type | Description |
---|---|---|
Enabled | BoolValue | Specifies whether the activity is to be enabled or not. Only enabled activities are validated and executed. |
Description | StringValue | Description of the activity. |
Name | StringValue | Name of the activity. The name has to be unique in the workflow. The name is used as identifier of the activity in activity binding. |
Error on timeout | BoolValue | Specifies whether to generate an error when timeout occurs. Bindable. |
Client side
Name | Type | Description |
---|---|---|
Delete file | BoolValue | Specifies whether the found file is to be deleted after the activity is finished. True means file will be deleted (default). |
Save to disc | BoolValue | Specifies whether the found file is to be saved to directory specified in Local directory. True means files will be saved. Default: False If set to True but Local directory is not specified, files will be saved in a temporary directory for large files. |
Local directory | ActivityComplexValue of DirectoryPathValue | Directory where found file will be downloaded. Bindable. |
Local file name | ActivityComplexValue of FilePathValue | Name that the downloaded file will get. If left empty, the file will keep its original name. Bindable. |
Connection
Name | Type | Description |
---|---|---|
Server | ActivityComplexValue of StringValue | Name or IP address of server to connect to. Bindable. |
Port | IntegerValue | Port to be used for connection. Default: 21 Bindable. |
User | StringValue | User name to be used to log on to the account on the FTP server. Bindable. |
Password | PasswordValue | Password to be used to log on to the account on the FTP server. Bindable. |
Connection - advanced
Name | Type | Description |
---|---|---|
Passive FTP mode | BoolValue | Specifies whether passive FTP mode is to be used. True means it will be used (Default). Bindable. |
Connection timeout | IntegerValue | A connection time period (in milliseconds) that applies to:
Bindable. |
List method | FtpListMethod | The list command sent to the server. If the server supports MLSD, this option is recommended. Default: MLSD Bindable. |
List entry format | ListEntryFormat | Specifies interpretation of list entries received from server. Bindable. |
Server directory separator | StringValue | Character used by server to separate directories. Default: / Bindable. |
Retries | IntegerValue | Number of times a command can be issued before an error occurs. Default: 0 Bindable. |
Time between retries | IntegerValue | Time in seconds to wait between each retry. Default: 0 Bindable. |
Trace | BoolValue | Specifies whether tracing of sent and received commands to a file is to be enabled. True means tracing is enabled. Default: False Bindable. |
Trace file | ActivityComplexValue of FilePathValue | The file where traced commands are to be saved. Bindable. |
Ignore error codes | StringValue | Specifies error codes (not specified by the FTP protocol) that may be returned from the FTP server when listing files and there are no files to return. The specified error codes will be ignored when returned. Fill in codes to be ignored as comma separated list. Example: 500, 503, 550 Bindable |
List is case sensitive | BoolValue | Specifies whether file lists are handled as case sensitive. True means lists will be case sensitive. Bindable. |
Remote code page | CodePageIDValue | Specifies the code page/charset to be used by the remote server. If not specified, 20127 (US-ASCII) is used. Bindable. |
Connection - SSL
Name | Type | Description |
---|---|---|
Encrypt data channel | BoolValue | Specifies whether encryption of data channel is to be enabled. True means encryption is enabled. Default: False. Bindable. |
Use SSL | BoolValue | Specifies whether SSL is to be enabled. True means SSL is enabled. Default: False Bindable. |
Auth command | FtpAuthorizationCommand | Authorization command to be sent to server to request an explicit SSL session. Options are:
|
Versions | SSLTLSVersionsValue | SSL/TLS version to be used. More than one option can be selected. Default is TLS 1.3, TLS 1.2. For more information, see General information about SSL and TLS. Bindable. |
SSL mode | SSLMode | Specifies whether explicit or implicit SSL mode is to be used. Default: Implicit Bindable. |
Certificate | CertificateValue | The client certificate that the server may request. Use browser button to select certificate. To list all available stores, you may need to start the Adapterflow Wizard with elevated privileges. When the Adapterflow is executed, the service must have the appropriate privileges to access the certificate. For more information, see Troubleshooting. Bindable. |
Connection - SSL Certificate validation
Name | Type | Description |
---|---|---|
Trusted storage | CertStoreValue | The certificate storage containing trusted certificates for validation of server certificate, located in Windows system certificate storages. Use browser to select trusted storage. To list all available stores, you may need to start the Adapterflow Wizard with elevated privileges. When the Adapterflow is executed, the service must have the appropriate privileges to access the certificate. For more information, see Troubleshooting. Bindable. |
Host role | FTPSHostRole | The role of the remote host. The Host role is validated when the remote host sends its certificate to the client for validation. Options are:
|
Enable | BoolValue | Enables/disables validation of remote servers certificate. Disabling validation implies that all received certificates will be accepted without any validation. Default: True Bindable. |
Options | ServerCertificateValidationOptionsValue | Specifies the validation errors to be ignored. Options are:
|
Use system storages | BoolValue | Specifies whether Windows system storages will be used during validation. If set to True, Windows system stores will be used when searching for CA and root certificates and when checking if certificate is trusted of blocked. If set to False, you have to specify a trusted store through the Trusted storage property. It is possible to specify an additional trusted store besides the stores in the Windows system storages that are considered trusted. Note that it is likely that validation will be slower when using system stores. Default: True Bindable. |
Server side
Name | Type | Description |
---|---|---|
Delete file | BoolValue | Specifies whether file is to be deleted on server after the activity has been successfully completed. True means file is to be deleted (default). |
Standard
Name | Type | Description |
---|---|---|
Server directory | ActivityComplexValue of FTPSDirectoryPathValue | Path to server directory to be scanned, for example C:\ScanDir. Note: The directory path may be case sensitive. Bindable. |
Server filter | ActivityComplexValue of StringValue | Filter applied on NLST command to server, for example *.* or *.xml Note: The filter may be case sensitive. Bindable. |
Client filter | ActivityComplexValue of RegExpStringValue | Regular expression applied as filter on files returned by server (case insensitive), for example \\b[a-z0-9]+.txt Bindable. |
Scan interval | IntegerValue | Time interval in seconds between file searches. Default: 30 Note: The Scan interval value must be greater than the Settle time value. If both properties have fixed values, this is validated during design time. If one or both values are set via activity binding or code expressions, there is no validation at design time. The values are then validated at runtime. If Scan interval is less than Settle time at runtime, the Scan interval value will be changed to Settle time value + 1 and a warning will be logged Bindable. |
Settle time | IntegerValue | The time in milliseconds that a file must have been untouched by any events before it can be processed. Default: 0 Note: See note for Scan interval above. Bindable. |
Transfer type | FtpTransferMode | Specifies how data is to be transferred. The options are:
|
Timeout | TimeSpan | Timeout for the operation. Format: HH:MM:SS. Bindable. |
Out parameters
Name | Type | Description |
---|---|---|
Local filepath Out | FilePathValue | The full path to the file on the client. |
Local filename Out | FilePathValue | The name of the file on the client (no directory path). |
Processing filepath Out | FilePathValue | The full path and name of the file on the server after it was renamed and/or moved. |
Processing filename Out | FilePathValue | The name of the file on the server after it was renamed and/or moved (no directory path). |
Original filepath Out | FilePathValue | The full path and name of the file on the server before it was renamed and/or moved. |
Original filename Out | FilePathValue | The name of the file on the server before it was renamed and/or moved (no directory path). |