David Potter cde11d1eb0
feat: Add sftp source connector (#2163)
Adds source connector for SFTP which uses fsspec and paramiko via
fsspec. Paramiko is the standard sftp package for python used in pysftp
etc...

```
--username foo \
--password bar \
--remote-url sftp://localhost:47474/upload/
```

Will only download a specifically requested file if it has an extension.
(i.e. `--remote-url sftp://localhost:47474/upload/bob.zip`) It will
treat any other remote_url as a folder path. This is intentional.

---------

Co-authored-by: potter-potter <david.potter@gmail.com>
2023-12-07 19:33:19 +00:00

23 lines
607 B
Bash
Executable File

#!/usr/bin/env bash
# Processes several files in a nested folder structure from sftp://address:port/upload/
# through Unstructured's library in 2 processes.
# Structured outputs are stored in sftp-output/
# Uses fsspec and paramiko to connect to the sftp server
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
cd "$SCRIPT_DIR"/../../.. || exit 1
PYTHONPATH=. ./unstructured/ingest/main.py \
sftp \
--remote-url sftp://address:port/upload \
--username foo \
--password bar \
--output-dir sftp-output \
--num-processes 2 \
--recursive \
--verbose