我正在使用Django用户模型来存储我的用户。我的用户将拥有通常的名称,用户名,密码。
这是一个例子:
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
我将需要一个字段来生成网址,这是他上传到S3的照片的网址,这样我的客户端就可以下载并显示它。
在boto3中生成不定URL的最佳方法是什么?
来自: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
)
实际上我们无法在没有到期的情况下创建预先签名的URL,S3版本4的最长到期时间为一周,而对于v2,它可能更高。