tldr;
По сути, это отправка файла с удаленного хоста на другой удаленный хост. Вопрос в том, как это можно сделать разумно, и если sftp - это то, что нужно предпринять.
Ситуация
Ситуация такова, что мне нужно извлечь некоторые файлы из файловой системы (называемой «базой данных»), которая будет проходить через посредника (называемого «посредником») по направлению к внутреннему узлу (называемому «сервером»), который будет обработать данные. Диаграмма находится в конце этого поста.
Затем, когда обработка завершена, создаются новые файлы. Они, в свою очередь, будут перенесены обратно в базу данных.
Что я хотел бы сделать, так это убедиться, что брокеру не нужно на самом деле сохранять файл перед его переносом в бэкэнд или из него. Это пунктирная линия, что означает, что он проходит «через» брокера, но не сохраняет его. Прямые линии означают, что он был сначала сохранен в брокере, прежде чем брокер отправит его через.
Идея этой ситуации заключается в том, что брокер выполняет всю инициализацию и работу. Это связано с тем, что только посредник знает о существовании как файловой системы, так и серверной части.
Весь код написан для дистрибутивов Linux (Ubuntu / Debian). Я работаю в cpp и использую библиотеку libssh (http://api.libssh.org/master/index.html).
Вопрос
Можно ли использовать ssh и sftp для выполнения этой работы? В настоящее время я уже могу отправлять файлы и хранить их, просто чтобы отправить их снова. Я читал о туннелировании (прямой или удаленный), но я чувствую, что эти ситуации не применимы к моей.
дополнение
Диаграмма (требуемая пунктирная линия) ситуации.