Загрузка изображения в корзину s3 занимает слишком много времени - PullRequest
0 голосов
/ 15 января 2020

Мне нужно загрузить изображения в корзину s3 в моем проекте django. Я использую boto3, чтобы сделать то же самое следующим образом:

def handle_uploaded_file(file, filename):

    s3 = boto3.resource('s3', aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY)
    check = s3.Bucket(bucket).put_object(Key=filename, Body=file,ContentType='image/png',ACL='public-read')
    return check

Я вызываю эту функцию в своем API следующим образом:

        if request.FILES and request.FILES.get('tagimage', None) is not None:
            tagimage = request.FILES['tagimage']
            tagimage_name = tagimage.name
            number = number_genarator()
            tagimage_name = str(number) + tagimage_name
            tag_upload = handle_uploaded_file(tagimage,tagimage_name)
            res['tagimage']=tag_upload
            record.tagimage = tagimage_name

Но этот процесс занимает слишком много времени по мне. Для загрузки одного изображения у меня уходит три секунды, за исключением времени, необходимого для другой части моего API. Может кто-нибудь предложить более быстрый способ загрузки изображений?

1 Ответ

0 голосов
/ 16 января 2020

Оказывается, проблема связана с регионом, который я выбрал для своего ведра. Как только я изменил область сегмента ближе к своему физическому местоположению, время отклика API постепенно уменьшилось до менее 1 секунды. Я впервые работал с AWS сервисами, думаю, с таким опытом я познакомлюсь лучше!

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