2017-03-08 3 views
0

私はユーザーを保存するためにDjango Userモデルを使用しています。私のユーザは、普通の名前、ユーザ名、パスワードを持っています。ここで期限切れのないs3写真のURLを作成するにはどうすればよいですか?

は例です:

class UserProfile(models.Model): 
    user = models.OneToOneField(User, primary_key=True) 
    photo_url = models.CharField(max_length=200, blank=True, default='') # the url to fetch photo 

、私のクライアントはそれをダウンロードすることができる方法がある私は、URLを生成する必要があります一つのフィールドも、それは彼がS3にアップロードする写真のURLですし、それを表示します。

boto3で不定のURLを生成する最適な方法は何ですか?

答えて

2

投稿者:Generating Presigned URLs期限切れでないURLを指定する方法はありません。 ExpiresInパラメータには大きなint値を使用します。それを試してみてください。

import boto3 
import requests 

# Get the service client. 
s3 = boto3.client('s3') 

# Generate the URL to get 'key-name' from 'bucket-name' 
url = s3.generate_presigned_url(
    ClientMethod='get_object', 
    Params={ 
     'Bucket': 'bucket-name', 
     'Key': 'key-name' 
    }, 
    ExpiresIn=9999999999 
) 
関連する問題