SFTP connector
Adobe Experience Platform allows data to be ingested from external sources while providing you with the ability to structure, label, and enhance incoming data using Platform services. You can ingest data from a variety of sources such as Adobe applications, cloud-based storage, databases, and many others.
Read this document for prerequisite steps that you need to complete in order to successfully connect your SFTP account to Experience Platform.
Prerequisites prerequisites
Read this section for prerequisite steps that you must complete in order to successfully connect your SFTP source to Experience Platform.
IP address allow list
A list of IP addresses must be added to an allow list prior to working with source connectors. Failing to add your region-specific IP addresses to your allow list may lead to errors or non-performance when using sources. See the IP address allow list page for more information.
Naming constraints for files and directories
The following is a list of constraints you must account for when naming your cloud storage file or directory.
- Directory and file component names cannot exceed 255 characters.
- Directory and file names cannot end with a forward slash (
/
). If provided, it will be automatically removed. - The following reserved URL characters must be properly escaped:
! ' ( ) ; @ & = + $ , % # [ ]
- The following characters are not allowed:
" \ / : | < > * ?
. - Illegal URL path characters not allowed. Code points like
\uE000
, while valid in NTFS filenames, are not valid Unicode characters. In addition, some ASCII or Unicode characters, like control characters (0x00 to 0x1F, \u0081, etc.), are also not allowed. For rules governing Unicode strings in HTTP/1.1 see RFC 2616, Section 2.2: Basic Rules and RFC 3987. - The following file names are not allowed: LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, PRN, AUX, NUL, CON, CLOCK$, dot character (.), and two dot characters (…).
Set up a Base64-encoded OpenSSH private key for SFTP
The SFTP source supports authentication using Base64-encoded OpenSSH private key. See the steps below for information on how to generate your Base64-encoded OpenSSH private key and connect SFTP to Platform.
Windows users
If you are using a Windows machine, open up the Start menu and then select Settings.
From the Settings menu that appears, select Apps.
Next, select Optional features.
A list of optional features appears. If OpenSSH Client is already pre-installed in your machine, then it will be included in the Installed features list under Optional features.
If not installed, select Install and then open Powershell and run the following command to generate your private key:
code language-shell |
---|
|
Next, run the following command while providing the file path of the private key, to encode your private key in Base64:
code language-shell |
---|
|
The above command saves the Base64-encoded private key in the file path you designated. You can then use that private key to authenticate to SFTP and connect to Platform.
Mac users
If you are using a Mac, open Terminal and run the following command to generate the private key (in this case, the private key will be saved in /Documents/id_rsa
):
code language-shell |
---|
|
Next, run the following command to encode the private key in Base64:
code language-shell |
---|
|
Once your Base64-encoded private key is saved in the folder you designated, you must then add the contents of your public key file to a new line in the SFTP host authorized keys. Run the following command on the command line:
code language-shell |
---|
|
To confirm whether your public key was added properly, you can run following on the command line:
code language-shell |
---|
|
Gather required credentials credentials
You must provide values for the following credentials in order to connect your SFTP server to Experience Platform.
Provide the appropriate values for the following credentials to authenticate your SFTP server using basic authentication.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 | |
---|---|
Credential | Description |
host |
The name or IP address associated with your SFTP server. |
port |
The SFTP server port you’re connecting to. If unprovided, the value defaults to 22 . |
username |
The username with access to your SFTP server. |
password |
The password for your SFTP server. |
maxConcurrentConnections |
This parameter allows you to specify a maximum limit for the number of concurrent connections Platform will create when connecting to your SFTP server. You must set this value to be less than the limit set by SFTP. Note: When this setting is enabled for an existing SFTP account, it will only affect future dataflows and not existing dataflows. |
folderPath |
The path to the folder that you want to provide access to. SFTP source, you can provide the folder path to specify user access to the sub folder of your choice. |
disableChunking |
During data ingestion, the SFTP source can retrieve the file length first, divide the file into multiple parts, and then read them in parallel. You can enable or disable this value to specify whether your SFTP server can retrieve file lengths or read data from a specific offset. |
connectionSpec.id |
(API-only) The connection specification returns a source’s connector properties, including authentication specifications related to creating the base and source connections. The connection specification ID for SFTP is: b7bf2577-4520-42c9-bae9-cad01560f7bc . |
Provide the appropriate values for the following credentials to authenticate your SFTP server using SSH public key authentication.
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 | |
---|---|
Credential | Description |
host |
The name or IP address associated with your SFTP server. |
port |
The SFTP server port you’re connecting to. If unprovided, the value defaults to 22 . |
username |
The username with access to your SFTP server. |
password |
The password for your SFTP server. |
privateKeyContent |
The Base64 encoded SSH private key content. The type of OpenSSH key must be classified as either RSA or DSA. |
passPhrase |
The pass phrase or password to decrypt the private key if the key file or the key content is protected by a pass phrase. If PrivateKeyContent is password protected, this parameter needs to be used with the PrivateKeyContent’s passphrase as value. |
maxConcurrentConnections |
This parameter allows you to specify a maximum limit for the number of concurrent connections Platform will create when connecting to your SFTP server. You must set this value to be less than the limit set by SFTP. Note: When this setting is enabled for an existing SFTP account, it will only affect future dataflows and not existing dataflows. |
folderPath |
The path to the folder that you want to provide access to. SFTP source, you can provide the folder path to specify user access to the sub folder of your choice. |
disableChunking |
During data ingestion, the SFTP source can retrieve the file length first, divide the file into multiple parts, and then read them in parallel. You can enable or disable this value to specify whether your SFTP server can retrieve file lengths or read data from a specific offset. |
connectionSpec.id |
(API-only) The connection specification returns a source’s connector properties, including authentication specifications related to creating the base and source connections. The connection specification ID for SFTP is: b7bf2577-4520-42c9-bae9-cad01560f7bc . |
Connect SFTP to Experience Platform
The documentation below provides information on how to connect an an SFTP server to Experience Platform using APIs or the user interface: