Как перенести изображения из MySql в корзину AWS S3 с помощью Python (3.x)? - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть несколько изображений в базе данных mysql, которые мне нужно перенести в корзину aws s3. Я могу загружать файлы с диска успешно, но не напрямую из базы данных. Текущий код выглядит так:

import pymysql
import PIL.Image
import boto3
import botocore
from datetime import datetime

db = pymysql.connect('localhost', 'root', '123456', 'test_db')  
cursor = db.cursor()

query = """select user_id, doc_type, images_pic from user_data where images_pic <> '' limit 5;"""        
data = cursor.execute(query)  
r = cursor.fetchall()
r = list(r)

bucket_name = 'my_buck'
s3 = boto3.client('s3')
#s3.upload_file('testfile.txt', bucket_name, 'testfile.txt') uploads successfully

for row in r:
    folder = "%s" % row[0]
    doc_type = ("%s" % row[1]).lower()
    uimg = io.BytesIO(row[2])
    img_final = PIL.Image.open(uimg)
    #folder = bucket_name.new_key(user_id) this gives error "str object has no attribute 'new_key'"
    s3.upload_file((folder + '/' + img_final + '.' + doc_type), bucket_name, (folder + '/' + img_final + '.' + doc_type))

Я могу сохранить изображения из базы данных на диск, а затем загрузить их в корзину, но я хочу сделать это напрямую, без сохранения на диск.

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...