Я думаю, вы говорите, что ищете способ передачи файлов с облачного сервера на общий диск Windows или на компьютер в сети Windows. Вот некоторые варианты, которые я видел:
- Используйте сервис, такой как google drive, dropbox, box или s3, для имитации синхронизированной папки на облачном компьютере и компьютере в сети Windows.
- Вызовите команду bash, чтобы SCP файлы перешли на сервер Windows или работника в сети. Это может работать и в обратном направлении.
- Добавьте файлы в репозиторий git и попросите работника в сети Windows синхронизировать репозиторий в общем расположении. Этот вариант хорош только в очень конкретных случаях. Преимущество заключается в том, что вы можете отслеживать изменения и восстанавливать старые состояния (если данные представлены в формате CSV или в другом текстовом формате), но это не очень удобно для больших или двоичных файлов.
- Используйте rsync, чтобы передать файлы работнику в сети Windows, к которому смонтировано общее местоположение, и переместить файлы в синхронизированный каталог с помощью python или bash.
- Смонтируйте сетевой диск на сервере и используйте python или bash для перемещения файлов туда.
Все это должно быть возможно с Airflow, используя либо python (shutil
), либо сценарий bash для передачи файлов в нужный каталог, чтобы их мог выбрать другой процесс, либо вызывая подпроцесс bash для выполнения прямая передача по SCP или передача данных через git. Вам нужно будет выяснить, что возможно с вашим брандмауэром и сетевыми настройками. Некоторые из них потребовали бы координации задач на стороне Windows (например, для опции git потребовалось бы какое-нибудь задание cron или планировщик задач, чтобы получить хранилище, чтобы поддерживать файлы в актуальном состоянии).