Создание моделей в Django с использованием данных AWS S3 и указание на них - PullRequest
1 голос
/ 02 апреля 2019

Я хотел бы создать модели в Django, используя существующие данные в AWS S3

def create_model(**kwargs):
    return Video.objects.create(**kwargs)

for s3_object_mp4 in my_bucket.objects.all():

    path_mp4, key_mp4 = os.path.split(s3_object_mp4.key)
    create_model(video_name=str('key_mp4'),
                         video_url='??')

И я использовал это, чтобы указать на созданные данные:

client = boto3.client('s3', 'eu-central-1')
url = client.generate_presigned_url('get_object',Params={'Bucket': bucket_name, 'Key': key_mp4}, ExpiresIn=604800)

Два вопроса здесь:

1) Если срок действия этой ссылки истекает, означает ли это, что по истечении срока действия я должен удалить и повторно заполнить мои модели каждые 7 дней как максимум?

2) Будет ли Amazon заряжаться каждый раз, когда пользователь просматривает видео в формате html (url)? а затем в другой раз при повторном заполнении всей базы данных, поскольку срок действия ссылок истек?

1 Ответ

1 голос
/ 02 апреля 2019

1) Срок действия ваших предварительно подписанных URL-адресов истекает. Удаление и повторное заполнение моделей является одним из вариантов. Другой вариант - выполнить update на месте.

2) S3 рассчитывается на основе хранимых данных и запросов. Согласно этому ответу генерация предварительно подписанных URL-адресов полностью на стороне клиента и, следовательно, бесплатна.

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