我使用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中生成不定网址的最佳方法是什么?
答案 0 :(得分: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
)
答案 1 :(得分:0)
实际上,我们不能在没有到期的情况下创建一个预签名的url,S3版本4的最大到期期限是一周,而对于v2,则可能更长。