4
我有一個django應用程序在heroku服務從亞馬遜s3桶的靜態文件。我使用博託圖書館,並遵循網站上的指南。 我能做些什麼來加速文件傳輸?從亞馬遜S3服務無法忍受的文件緩慢
某些代碼:
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'xxxx'
AWS_SECRET_ACCESS_KEY = 'xxxx'
AWS_STORAGE_BUCKET_NAME = 'boxitwebservicebucket'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
認爲
class GetFileContent(View):
def get(self,request, userName, pk):
user = User.objects.filter(username = userName)
filtered = Contentfile.objects.filter(pk = pk, published=True, file_owner = user)
data = filtered[0].content
filename = filtered[0].title + "." + filtered[0].file_type
response = HttpResponse(data, content_type='application/force-download')
response['Content-Disposition'] = 'attachment; filename="{}"'.format(filename)
return response
pass
我懷疑Django是服務於文件,即使它所在的S3服務器上,我怎樣才能將用戶引導到S3直接鏈接?
我會推薦通過CloudFront從S3提供服務文件。 – Brandon
目前,我在演示階段,我想保持一切自由。但林不知道這是問題,我開始懷疑,即使我使用亞馬遜s3存儲,Django服務的文件,而不是亞馬遜,因爲當我看着我的網絡流量,我看不到任何鏈接導致亞馬遜。 –
CloudFront每月首10 TB只花費0.12美元。這是相當實惠:)。如果您的網絡流量表示您的文件由Django提供服務,那完全是另一回事。 – Brandon