Skip to main content
This gem runs in .

Overview

Use a Source and Target gem to read from or write to remote SFTP locations in Prophecy pipelines. This page covers supported file formats, how to create the gem, and how to configure connection details and paths for both Source and Target gems.

Supported file formats

The SFTP gem supports the following file formats.
FormatReadWrite
CSV
Fixed width
JSON
Parquet
XML
XLSX

Create an SFTP gem

To create an SFTP Source or Target gem in your pipeline:
1

Add a Source or Target gem to the pipeline

  1. Open your pipeline in the Studio.
  2. Click on Source/Target in the canvas.
  3. Select Source or Target from the dropdown.
  4. Click on the gem to open the configuration.
2

Select SFTP format

In the Type tab, select SFTP. Then, click Next.
3

Set location details

In the Location tab, set your file format and connection details. To learn more, jump to Source location and Target location.
4

Set file properties

In the Properties tab, set the file properties. These vary based on the file type that you are working with.
See the list of properties per file type, such as CSV.
5

Preview data (Source only)

In the Preview tab, load a sample of the data and verify that it looks correct.

Source location

When setting up an SFTP Source gem, you need to decide how Prophecy should locate files at runtime. There are two modes:
  • Filepath: Always read from a specific file path. You can use wildcards in your path definition. If multiple files match, they are unioned into a single output table.
  • Configuration: Dynamically read files provided by a file arrival/change trigger in the pipeline’s schedule. When new or updated files are detected in the monitored directory, the trigger starts the pipeline and passes those files to the SFTP Source gem, which unions them into a single output table.
Use the table below to understand how to configure each option.
ParameterDescription
Format typeFile format to read. Example: csv, json, parquet
Select or create connectionChoose an existing SFTP connection or create a new one.
Choose Path or ConfigurationChoose between the following options.
Filepath
Filepath option only
Path to the file on the SFTP server. Supports wildcards.
Example: /temp/dir/*.csv
Select Configuration
Configuration option only
File arrival/change trigger configuration that provides the added or modified files for that run.
Include filename ColumnAppends a column containing the source filename for each row in the output table.
Delete files after successfully processedDeletes files after they are successfully read.
Move files after successfully processedMoves files to a specified directory after they are successfully read.

Configuration

If you select Configuration, the gem will only run successfully during a triggered pipeline run. This is because the gem expects files from the trigger. In other cases, such as an interactive run or an API-triggered run, there will be no files to read. In these situations, you might encounter the following error:
Failed due to: Unable to detect modified files for provided File Trigger
For the same reason, you’ll see an error if you try to infer the schema in the Properties tab or load a preview in the Preview tab of the Source gem.

Target location

When setting up an SFTP Target gem, you need to set the location and file type to correctly write the file.
ParameterDescription
Format typeType of file to write, such as csv or json.
Select or create connectionSelect an existing SFTP connection or create a new one.
FilepathSFTP path where the output file will be written.
Example: /temp/dir/file.csv