Передача CSV с SFTP-сервера на S3 через WinSCP

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

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

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

# Connect to SFTP server using a password
    open sftp://user:[email protected]/ -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.


person Cameron Cloyd    schedule 20.06.2019    source источник
comment
Спасибо, @MartinPrikryl, это был мой страх. Я заметил, что выполнить задание с сервера на локальную машину очень легко, но заметил, что переход с сервера на S3 невозможен. Думаю, я мог бы просто выполнять два задания в неделю, чтобы довести его до S3, и это не должно быть так уж плохо.   -  person Cameron Cloyd    schedule 21.06.2019


Ответы (1)


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

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

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

open sftp://username:[email protected]/
get /sftp/path/*
exit

open s3://accesskey:[email protected]/
put * /bucket/
exit
person Martin Prikryl    schedule 21.06.2019
comment
Спасибо за это, я этого и ожидал. - person Cameron Cloyd; 25.06.2019