FTP Source

FTP Source service enables you to define the name and path of the source file located at FTP server, which is to be later transferred to the target location. On execution of the process flow, FTP Source enables Adeptia Server to fetch this source file from the specified FTP location.

Prerequisites

If you are using SSL FTP Server then you need to validate it by importing certificates. For information on how to create Keystore and import certificates, refer to Creating Keystore.

Follow the steps below to create FTP Source:

  1. Click Configure > SOURCES > FTP Source.

  2. Click Create FTP Source.

  3. Enter the name and the description of the new FTP Source in the Name and Description fields respectively.

  4. Enter the Host name and Port on which FTP Server is running.
  5. Follow the steps below based on whether you are using Hashicorp Vault to fetch the secrets (credentials) or you want to enter the secrets manually.

    To use Hashicorp Vault, you must enable Config Management feature and you may also need to do project mapping. For more details, refer to this page.

  6. To fetch the secrets from the Hashicorp Vault, do the followings:

    You can choose to use Hashicorp Vault for all or a specific field that need to contain secret.

    1. In the User Id field, enter the variable in the following format:
      ${Vault:<Key1>}
      Where, <Key1> is the key assigned to the username in the Hashicorp Vault. 

      Each secret is maintained as a key-value pair in Hashicorp Vault.

    2. Select the Use Vault checkbox if you want to use Vault for retrieving the password.

    3. In the Password field, enter the variable in the following format:
      ${Vault:<Key2>}
      Where, <Key2> is the key assigned to the password in the Hashicorp Vault.
  7. To enter the secrets manually, do the followings:
    1. In the User Id field, enter the username to connect to FTP Server.
    2. In the Password field, enter the password.
    3. In the Confirm Password field, re-enter the password.

      FTP is built on a client-server architecture and uses separate control and data connections between the client and the server. FTP users may authenticate themselves using a clear-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. Therefore, you need to enter the username and password to access FTP site.

  8.  Enter the path of source file in the Remote File Path field. This file path specifies the location of the source directory where the file is located.
  9. You can specify either absolute path or relative path depending upon the access control specified for you. Access Control is the process of authorizing users, groups, and computers to access objects on the network or computer.
  10. If you specify '/' in the beginning of the remote FTP file base location path then the provided path is an absolute path, that is, path starting from the root folder. If '/' is not present in the beginning of the remote FTP file base location path then the provided path is a relative path.
  11. Enter the source file name in the File Name field. 
  12. Select the transfer mode from the Transfer Mode drop-down list. This option is used to specify the mode in which the source file is transferred to/from FTP server. The file can be transferred either in Binary or in ASCII format. 

    In BINARY mode, a source file is transferred bit by bit (raw data without any modification) from one system to another system. Both files (source file and target file) will contain exactly the same sequence of bytes. In this way, the file is transferred in its exact original form.

    However, in ASCII mode, source file is not transferred bit by bit as the transferred data is considered to contain only ASCII formatted text. Therefore, the target file that receives the transferred data is responsible for translating the format of the received data to the format that is compatible with the operating system at the client-end. So a file may use special control characters to format data and may be slightly changed to maintain itself with respect to the EOL (End Of Line) characters.

    Select Binary, if the source file is a binary file to avoid any changes in the file but if the source file has ASCII character(s) then select ASCII to maintain EOL characters.


  13. Select the transfer type as either Active or Passive from the drop-down list of Transfer Type:
    • Passive
    • Active
      Active FTP is more secure and beneficial for FTP server administrator. However, it is disadvantageous for the client side administrator as when the FTP server attempts to make connections with the random high ports, most of the times it get blocked by a firewall at the client side. 
      Passive FTP is beneficial for the client, but disadvantageous for FTP server administrator. In this case, when the FTP server attempts to make a connection, a successful connection is established with the server. However, one of the connections is established with a random high port, which most of the time gets blocked by a firewall on the server side. Therefore, it is recommended to use Passive as it is beneficial for the client.

      The next step is to decide if you want to use SFTP, or FTPS. If you do not use any of these two protocols, the default FTP protocol is used, and you need to skip to step 12 and complete all the steps that follow.

      In case you opt to use SFTP or FTPS protocol, follow the steps below.
  14. Follow step 15 or step 16 based on whether you want to use SFTP or FTPS protocol, and then proceed to next steps
  15. If you want to use SFTP protocol, 
    1. Select SFTP checkbox. 
    2. Convert the format of the key that you want to use to OpenSSH key format by using any key conversion tool. Once converted, import the key to Key Manager. Refer to this page to know how to import a key to the Key Manager.
    3. In the Key Manager field, select the key from the list.
    4. Skip to the step 12 and complete all the steps that follow.
  16. If you want to use FTPS protocol, 
    1. Select FTPS checkbox. 

    2. In the FTPS Mode field, select FTPS mode. The available options are Explicit and Implicit.  Select FTPS mode with respect to FTP Server you are accessing.

      In Explicit mode (also known as FTPES), an FTPS client must "explicitly request" security from an FTPS server and then step-up to a mutually agreed encryption method. If a client does not request security, FTPS server can either allow the client to continue in insecure mode or refuse/limit the connection.

      In Implicit mode, negotiation is not allowed with implicit FTPS configuration. A client is immediately expected to challenge FTPS server with a TLS/SSL message. If such a message is not received by the FTPS server, the server should drop the connection.

      By default, it should be Explicit as in this mode client requests security from FTPS server.

    3. In the Protection Level field, select the protection level. 

      Protection Level is a single Telnet character code specifying the data channel protection level. This command indicates server what type of data channel protection the client and server will be using. The default protection level is None. The available options are:

      • None

      • Clear: This protection level indicates that the data channel will carry the raw data of the file transfer with no security applied.

      • Private: This protection level indicates data will be confidentially protected.

    4. If you want Adeptia Connect to authenticate FTP server and subsequently validate the certificate sent by FTPS server against the certificate imported in Keystore, select Validate Server checkbox, and select a keystore activity from the Keystore Name field. 

      If Validate Server checkbox is not selected, it always accepts the certificate sent by FTPS Server. You must select this checkbox, if you are using FTP over SSL. In addition, you need to create a Keystore Activity by importing the certificate which can be used to trust the FTP server.

  17. Expand Advanced Properties.
    1. Select Delete File on Success check box, if you want to delete the FTP source file after successful execution of the Process Flow. In case, the Process Flow is aborted due to any reason, the source file will not be deleted.
    2. In the Connector field, select the connector to connect to the FTP Server. 
      The options in the Connector field change based on the type of protocol you're using to establish the FTP connection. By default, Apache Camel is selected in this field. 

      FTP

      Apache Camel
      NATIVE

      SFTP

      Apache Camel
      J2SCH (VFS)
      J2SSH

      FTPS

      Apache Camel
      J2SCH (VFS)

      Protocol

      Options

      Make sure that you've selected an OpenSSH key in the Key Manager field in case the selected connector is Apache Camel and the protocol is SFTP.  
    3. Enter the additional configuration details in the Add On Configurations text box. 

      This field is available only if you have selected Apache Camel connector. 

      If you're using SFTP protocol, you need to add the following information in the Add On Configuration field.
      preferredAuthentications=publickey,keyboard-interactive,password

    4. Select Verbose check box to create a log file of your FTP service.

      You can enable the Verbose check box only if you have selected the Apache Camel option from the Connector field.

    5. Set the time limit (in seconds) in the Data Timeout text box to end the connection after the defined timeout.

      At times, when Adeptia Connect is connected with FTP server, there could be connectivity issues. This could result in an infinite loop with no output. This issue can be resolved by setting a time limit if no data is transferred between Adeptia and FTP servers. By default, this is set to 60 seconds. This implies that if there is no data transfer for 60 seconds between both the servers, the connection is considered broken and an error message is displayed.
    6. Select the Project from Project field.

  18. Click Save.

    You can verify the FTP source service at design time. For this, click Test. This verifies the values given in the Host Name, Port, User ID, Password, and Secured fields.

Related topics