You can configure the following SFTP (Secure File Transfer Protocol) settings in the global.properties file. These are used when using SFTP protocol with File read/write/browse type Snaps. They are Java system properties, so they need to be defined with the -D option.
maxSftpChannels: The maximum number of concurrent channels open per session (default value is 1). You can obtain the correct value to specify for maxSftpChannels from your SFTP server administrative settings.
In the SFTP file protocol, SFTP connection consists of a session and a channel. When an SFTP client (for example, Binary Snap) establishes a TCP connection with a sever, it is called a session, while a channel is simply a virtual connection within a single session. Typically, multiple concurrent channels can be opened in each session. You can use each channel to perform a read/write/get command. The maximum number of concurrent sessions per client IP address is also limited by the SFTP server settings. For example, if the maximum number of sessions allowed is 8 and maxSftpChannels is set to 8, then up to 64 requests can be processed by the SFTP server concurrently. If maxSftpChannels is not specified, then its default value is 1, which allows a maximum of 8 concurrent requests to be processed. One Binary Snap can use more than one channel.
enableJschLogger: Whether to enable extra logging from SFTP (default value is False)
SFTP_TIMEOUT_MILLIS: The number of milliseconds to wait for an SFTP connection to be established (default value is 30000)
SFTP_CONNECTION_RETRY: The number of times to retry a connection (default value is 10)
SFTP_RETRY_DELAY_MILLIS: The delay between retries, in milliseconds (default value is 5000)
ftpsDelayBeforeClosing: Set to 1 or more if an FTPS file is truncated after being written by a File Writer Snap without any error. The default value is 0, and the time unit is in seconds.
ftpDelayBeforeClosing: Set to 1 or more if an FTPS file is truncated after being written by a File Writer Snap without any error. The default value is 1, and the time unit is in seconds.
As these options are configured through the jcc.jvm_options entry in global.properties, the JCC needs to be restarted for the change to take effect. For example, to reduce the amount of time the connection attempt is retried, add the following:
jcc.jvm_options = -DSFTP_TIMEOUT_MILLIS=20000 -DSFTP_CONNECTION_RETRY=5 -DSFTP_RETRY_DELAY_MILLIS=1000
You cannot see the above default values in the global.properties file, since they are part of the SnapLogic system.
Access Token Timeout Settings for Salesforce
The expiration timeout (or session timeout) in Salesforce is 14 minutes by default. To change this value:
- Navigate to SnapLogic Manager > Asset Search > Snaplexes and click the Snaplex on which you want to execute the Pipeline containing the Salesforce Snap. The Update Snaplex popup window appears.
- Click Node Properties and, at the bottom of the tab that appears, add the following entry into the Global.properties fieldset:
Points to remember
- You must restart the JCC to put the change into effect.
- The session timeout should be the same or less than the value in the SFDC Web Administration page: Salesforce Login > Setup > Security Control > Session Settings > Session Timeout.
- SFDC Session Timeout value in the Administration page can be selected between 15 minutes and 12 hours. For more information on working with SFDC timeout settings, see Salesforce Documentation.
- Security token is not mandatory; however, the user can set the Login IP range at the SFDC Account web page to bypass the security token's requirement. For more details on setting the IP range please refer to Login IP Ranges.