#python-2.7 #amazon-s3 #aws-glue #ftplib
#python-2.7 #amazon-s3 #aws-glue #ftplib
Вопрос:
У меня есть задание AWS Glue в Python2.7, которое пытается передать ftp-файлы из моей корзины s3 на клиентский сервер. Для этого я использую встроенную в pythons библиотеку ftplib. Я могу передавать файлы по ftp, если размер файла меньше 2 ГБ. В тот момент, когда размер файла превышает 2 ГБ, происходит сбой со следующей ошибкой
cat: precise-error-tmp-file.txt: Нет такого файла или каталога
Я пытался изменить размер блока, но это не помогает
def upload_from_s3_ftplib(s3_bucket, s3_file, ftp_host, ftp_username,
ftp_password, ftp_directory):
"""Uploads the given file at the given S3 URL to the given FTP server
using the ftplib library"""
file_name = ntpath.basename(s3_file)
logger.info(" file name {}".format(file_name))
ftp = FTP(ftp_host)
logger.info("Connected")
ftp.login(user=ftp_username, passwd=ftp_password)
logger.info("Login Successful")
if ftp_directory.strip() <> '':
ftp.cwd(ftp_directory)
logger.info('Working directory changed to {}'.format(ftp_directory))
logger.info("Transfer file remote FTP {}".format(ftp_directory "/" s3_file))
s3 = boto3.resource('s3')
obj = s3.Object(s3_bucket, s3_file)
body = obj.get()['Body'].read()
ftp.storbinary('STOR {}'.format(file_name), BytesIO(body))
logger.info('File transmitted!!!')
ftp.quit()