Я получаю сообщение об ошибке при загрузке zip-файла из корзины s3 в папку FTP.Здесь я использую общедоступный FTP, который мы можем использовать анонимно.
Пожалуйста, найдите следующий код
s3 = boto3.resource('s3')
print("Loading the function")
def lambda_handler(event, context):
ftp = ftplib.FTP("speedtest.tele2.net")
ftp.login()
ftp.cwd("/upload")
print(event)
src_bucket = event['Records'][0]['s3']['bucket']['name']
print("Source Bucket name:",src_bucket)
dest_bucket= "dest-bucket-name-here"
key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')
filename= ntpath.basename(key)
print('Received file :{} and fullpath location: {}'.format(filename,key))
copy_source = {'Bucket': src_bucket,'Key': key}
bucket = s3.Bucket(dest_bucket)
ftp.storbinary("STOR " + filename, open(copy_source, 'r')) # error is as mentioned in title.
ожидаемый результат: файл должен быть загружен на путь FTP.(Так как это общедоступный FTP-сервер, используемый для целей тестирования, после загрузки загруженный файл будет автоматически удален программой speedtest.)