РЕДАКТИРОВАТЬ: Ах ... Кажется, я пропустил ваш тег Java
. Ну, если вы в порядке с порождением подпроцессов, то должно работать следующее решение. Иначе, пожалуйста, обратитесь к поддерживаемому Java API для GCP. На сегодняшний день это этот
Если у вас есть sh доступ к вашему ftp-серверу, просто используйте Google Cloud SDK:
gsutil cp gs://[BUCKET_NAME]/[OBJECT_NAME] [SAVE_TO_LOCAL_FTP_DIR]
Иначе, Следующая команда передает данные из GCP -> Ваш локальный компьютер -> FTP:
gsutil cp gs://[BUCKET_NAME]/[OBJECT_NAME] - | curl -T - ftp://user:PASS@ftp-server.com/filename.ext
Первый -
после [OBJECT_NAME]
говорит gsutil
записать в STDOUT
вместо обычного файла, в то время как второй -
говорит curl -T
читать из STDIN
. Для непосвященных * |
- это bash канал, указывающий на передачу STDOUT
первой программы в STDIN
следующей.