我想使用 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 天重新填充我的模型?
2) 每次用户观看 html (url) 上的视频时,亚马逊是否都会收费?然后另一次因为链接过期而重新填充整个数据库?
最佳答案
1) 您的预签名 URL 将过期。删除并重新填充模型是一种选择。另一种选择是就地执行更新
。
2) S3 根据存储的数据和请求定价。根据this answer预签名 URL 的生成完全是在客户端进行的,因此是免费的。
关于python - 使用 AWS S3 数据在 Django 中创建模型并指向它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55467430/