Передача CSV с SFTP-сервера на S3 через WinSCP - PullRequest
1 голос
/ 21 июня 2019

Моя работа использует WinSCP для передачи SFTP.У нас есть некоторые данные, поступающие таким образом каждую неделю, и я хотел бы получить их в ведро S3.Мы хотим автоматизировать эту передачу с помощью задания cron или другим способом, подобным этому.

Я знаю, что есть инструменты AWS, но они стоят денег, и деньги не могут быть потрачены.У нас также нет инструмента ETL, такого как Alteryx, иначе я бы использовал его.Ничто в Интернете не дает так много подробностей о передаче файлов с SFTP-сервера на другой сервер.Чаще всего читаю как перенести с сервера на локальный.Ниже приведен код, который я нашел.

Можно ли использовать эти команды WinSCP для передачи в корзину S3 каким-либо образом в 'put:'?(Я не могу использовать генератор, как говорили другие посты, потому что у меня пока нет доступа к нашему AWS или каким-либо контейнерам.) Это все о проверке концепции.

# Connect to SFTP server using a password
    open sftp://user:password@example.com/ -hostkey="ssh-rsa 2048 xxxxxxxxxxx...="
# Upload file (THIS IS WHERE I WOULD WANT S3 PATH SYNTAX)
    put d:\examplefile.txt /home/user/       
# Exit WinSCP
    Exit

Как только я получу эту команду, мыЗатем можно создать задачу расписания Windows, из того, что я прочитал.Это автоматизирует местоположение файла, и мы можем сделать больше с файлом, где SFTP-серверы ограничивают нас.

1 Ответ

0 голосов
/ 21 июня 2019

Если я правильно понял вопрос, вы спрашиваете, как перенести файлы напрямую с SFTP-сервера на S3, используя скрипт, работающий на еще одном компьютере.

Это невозможно (если в AWS нет для этого функции, но тогда она не будет бесплатной). Вы должны загрузить файлы с SFTP-сервера, а затем загрузить их на S3.

С сценариями WinSCP , вы можете сделать это с помощью сценария, подобного:

open sftp://username:password@sftp.example.com/
get /sftp/path/*
exit

open s3://accesskey:secretkey@s3.amazonaws.com/
put * /bucket/
exit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...