我想让我的django应用程序在aws中的生产中,我使用弹性beanstalk来部署它,因此ec2实例被创建并连接到一个rds数据库的mysql实例,我在亚马逊S3存储中使用一个存储桶来存储我的媒体文件。使用存储在aws s3存储上的文件 - 介质存储作为django视图中的一个进程的输入
当用户上传视频时,它存储在s3中:“https://bucketname.s3.amazonaws.com/media/videos/videoname.mp4”。 在django开发模式中,我使用视频文件名作为输入视频作为输出的批处理脚本的输入。
我在DEVELOPPEMENT模式视图是如下:
def get(request):
# get video
var = Video.objects.order_by('id').last()
v = '/home/myproject/media/videos/' + str(var)
# call process
subprocess.call("./step1.sh %s" % (str(v)), shell=True)
return render(request, 'endexecut.html')
在生产模式中AWS(问题),我试图:
v = 'https://bucketname.s3.amazonaws.com/media/videos/' + str(var)
但批处理过程不接受URL作为输入处理。
我如何使用s3存储桶中的视频文件在我的视图中执行处理?先谢谢你。
你的意思_批处理过程不接受url_? –
批处理以视频文件名称作为输入,在开发模式下视频在文件系统上,所以我给了视频的路径作为输入,但现在在aws上的prod模式我不知道如何处理存储在s3上的视频 –