Alteryx Toolkit Support

A quick guide to some of the tools within the Resultant Alteryx Toolkit.

Guide

Read this before diving into your Alteryx Toolkit.

The toolkit contains three tools that interact with “file” objects without reading the contents in a way that can be used in an Alteryx workflow. So instead of a stream of records in a workflow being written to a file or read from a file on the remote system, the tools are expecting instead that you are uploading, downloading, copying, or moving existing files, or—alternatively—listing directories. As such, the output from all these tools is a listing of file objects, but not the contents of those objects. It is either a list of files that have been interacted with or simply a listing of files from a directory. Those tools are:

  • sFTP RSA
  • AWS S3 Objects
  • File System

The tools can be used in either of two modes.

  • Input Type “Block/None” mode expects all of the information required to perform the operation desired (upload/download/copy/etc) is provided in the form. This is intended for static operation.
  • Input Type “Batch” mode expects a portion of the information required to perform the operation desired (upload/download/copy/etc) is provided by the incoming rows. This is intended for dynamic operation.

A common use of the tools would look something like this:

The first instance of the tool is in the “Block/None” mode and statically lists the contents of a directory. The second instance of the tool is in “Batch” mode and dynamically downloads any files that make it past the filter to the destination path.

If you need to upload files to an sFTP, you need to write them to disk first. They can be written to the [Engine.TempFilePath] so that Alteryx cleans up afterwards, but they must be on disk for the tool to transmit. It is not designed to take records on input and write those records to an sFTP destination.

Regarding the formatting of the fields: In all the tools, the required formatting of values in the static form is the same for the values passed in for “Batch” mode. The easiest way to work it is to use the static form in “Input/Block” mode until you get the desired result and use that understanding as the basis for what needs to be provided on the incoming stream in “Batch” mode. For the sFTP tool specifically:

sFTP Server: This is not a browser implementation like the download tool. As such, this is just the server name. No protocol, no port, no path.

“sftp://myserver.com:22/mydirectory” <= wrong.
“myserver.com” <= right.
sFTP Port: Port number only. Default is 22

Username: This is highly variable and depends entirely on what the host expects.

RSA Private Key: see explanation below in the thread.

Password: This is highly variable and depends entirely on what the host expects.

Remote Path: Use ‘/’ in this path for any separators as that is standard for FTP. If this path doesn’t have a ‘/’ at the end, the tool adds it when uploading or downloading. It does not add a trailing ‘/’ when using the list action, so the remote server implementation may behave differently with its inclusion or exclusion at the end.

Remove Path: This is a remote path and can be either a folder object or a file object but is a FULL path. Success or failure here is largely dependent on support for the action and your permissions on the remote server.

Local Path: Use ‘\’ in this path for any separators as that is what Windows expects. If this path doesn’t have a ‘\’ at the end, the tool adds it when uploading or downloading.

Filename: Just the filename and extension, no path.

NOTE

We are assuming the reason you found our tool, specifically the sFTP tool was the need to use an RSA token. The "BEGIN RSA PRIVATE KEY" packaging is sometimes called: "SSLeay format" or "traditional format" for private key. If you would really like to geek out for the afternoon, these are the relevant RFC documents regarding the RSA key format:

https://tools.ietf.org/html/rfc4716

https://tools.ietf.org/html/rfc5208

https://tools.ietf.org/html/rfc8017

RSA Private Key Example:

At the end of the day, the tool is expecting the RSA private key in a format that looks like this. This is not a valid key; it is intended for formatting reference only. The encoding in fact contains both the public and private keys. As such it should be treated with the utmost care regarding its safe keeping. The size of the RSA key file and the number of lines depends on the length of key (1024, 2048, 4096 bits) which was generated:

Insights delivered to your inbox