【问题标题】:Create models in Django using AWS S3 data and point to them使用 AWS S3 数据在 Django 中创建模型并指向它们
【发布时间】:2019-04-02 05:20:55
【问题描述】:

我想使用 AWS S3 中的现有数据在 Django 中创建模型

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 天重新填充我的模型为 max ?

2) 每次用户在 html (url) 上观看视频时,亚马逊是否会收费?然后再次因为链接过期而重新填充整个数据库?

【问题讨论】:

    标签: python django amazon-web-services amazon-s3


    【解决方案1】:

    1) 您的预签名 URL 将过期。删除和重新填充模型是一种选择。另一种选择是就地执行update

    2) S3 根据存储的数据和请求定价。根据this answer 的说法,预签名 URL 的生成完全是客户端的,因此是免费的。

    【讨论】:

    • 您能提供一个就地更新的例子吗?
    • @Matthew,您可以在此处找到保存模型的文档:docs.djangoproject.com/en/2.1/ref/models/instances/…
    • 所以更新网址是免费的,感谢您提供指向其他答案的链接。因为“检索”是要花钱的。而且我不确定在这种情况下检索意味着什么。在 AWS 上使用 URL 观看这些视频是不是要花钱?
    • 是的。您需要为检索和数据传输付费(请参阅“从 Amazon S3 到 Internet 的数据传输”):aws.amazon.com/s3/pricing
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    相关资源
    最近更新 更多