Мне нужно ежедневно выгружать файл с FTP в Google Cloud Storage.Мне удалось сделать это в Python, загрузив файл с FTP и загрузив в Google Cloud Storage, но он кажется слишком тяжелым.Итак, мне любопытно, можно ли это сделать, выполняя команды в Google Cloud Shell, или есть другие возможные решения, чтобы сделать это более оптимальным способом.
from gcloud import storage
from oauth2client.service_account import ServiceAccountCredentials
import os
ftp = ftplib.FTP("ftp_url")
ftp.login('login', 'password')
ftp.cwd("/")
with open('file', 'wb') as f:
ftp.retrbinary('RETR ' + 'file', f.write)
credentials = ServiceAccountCredentials.from_json_keyfile_dict(
credentials_dict
)
client = storage.Client(credentials=credentials, project='project_id')
bucket = client.get_bucket('bucket')
blob = bucket.blob('file')
blob.upload_from_filename('file')