Skip to content

FTP Post

Allows to send one ore more files via the FTP or SFTP protocol. For example you want to daily export products to a sFTP server.

Json

Example

json
{
  "name": "protocol-ftp-post",
  "taskReferenceName": "ftp_post",
  "description": "The business description of the task",
  "type": "SUB_WORKFLOW",
  "optional": false,
  "inputParameters": {
    "connection": "SFTP",
    "host": "",
    "username": "",
    "password": "",
    "port": 21,
    "mode": "FILE",
    "remoteFolder": "/products/",
    "file": "${previous_taskReferenceName.output.file}"
  }
}
json
{
  "name": "protocol-ftp-post",
  "taskReferenceName": "ftp_post",
  "description": "The business description of the task",
  "type": "SUB_WORKFLOW",
  "optional": false,
  "inputParameters": {
    "connection": "SFTP",
    "host": "",
    "username": "",
    "password": "",
    "port": 21,
    "mode": "FILES",
    "remoteFolder": "/",
    "files": "${previous_taskReferenceName.output.files}"
  }
}
json
{
  "name": "protocol-ftp-post",
  "taskReferenceName": "ftp_post",
  "description": "The business description of the task",
  "type": "SUB_WORKFLOW",
  "optional": false,
  "inputParameters": {
    "connection": "SFTP",
    "host": "",
    "username": "",
    "password": "",
    "port": 21,
    "mode": "REQUEST",
    "request": "${previous_taskReferenceName.output.file}"
  }
}

Definition

PropertyDescription
name The name of the task, must be: protocol-ftp-post
taskReferenceName The unique name of the task in your job.
description The functional description of this task in your job.
type Set SUB_WORKFLOW for this task.
optional true: the job continues if there is an error on this task. false: the job fails.
inputParameters Input parameters of the task. See below

Inputs

PropertyDescription
connection The protocol. Must be FTP or SFTP or FTPS.
authenticationMethod PASSWORD, PUBLIC_KEY
Default: PASSWORD
If connection is not SFTP and authenticationMethod is PUBLIC_KEY, the task fails.
host You can use a dns or an IP address.
privateKey The private key
It is required to use a secret variable to store the private key.
passphrase The private key passphrase
Only taken into account if authenticationMethod=PUBLIC_KEY.
username Username
password Password
If connection is no SFTP, if connection is SFTP and password is set then an invalid input error is added
port Port
mode FILE | FILES | REQUEST. FILE: the input file will be sent. FILES: all the files in the input files will be sent. REQUEST: the files will be sent as defined in the request input.
remoteFolder<Tag text="required if mode = FILE
file A valid input. The file that must be sent.
files A valid input. The array of files that must be sent.
request A valid input. A file that defines which files must be sent and where. See the definition below.

TIP

The supported private keys are the following :

  • ---- BEGIN SSH2 PUBLIC KEY ----
  • -----BEGIN RSA PRIVATE KEY-----
  • -----BEGIN DSA PRIVATE KEY-----
  • -----BEGIN EC PRIVATE KEY-----
  • PuTTY-User-Key-File-2: (ssh-rsa)
  • PuTTY-User-Key-File-2: (ssh-dss)
  • -----BEGIN OPENSSH PRIVATE KEY-----

Input request

Example

xml
<Ftp-Post>
    <File>
        <Url>https://app.product-live.com/files-data-factory/d05a74cf11788d8f3ae9bfee0e028dde66f0c83005c5e0d1211b0069945c0c11</Url>
        <Path>/products-1.csv</Path>
    </File>
    <File>
        <Url>https://app.product-live.com/files-data-factory/d05a94cf11788d8f3ae9bf0e0e028dde66f0c83005c5e0d1211b0069945c0c12</Url>
        <Path>/sub-folder/products-2.csv</Path>
    </File>
</Ftp-Post>

Definition

XPathDescriptionOccurs
Ftp-PostRoot of the document1
./FileFor each file.1
./File/UrlThe url of the file that must be sent. Usually the url generated in the listing file of a previous task. It can also be an external url.1
./File/PathThe exact file path that must be retrieved. Must starts with /1

Outputs

This task does not have outputs.

Limits and additional notes

  • The limitation of files that can be sent is 100 (it can depends on file size).

In addition to these limitations, the following practices are recommended:

  • Always limit the number of files on a FTP folder
  • Always create one folder for one type of file eg. never have a folder and a file at the same level of path.This way you can always use the Last file method to retrieve your file on the server.