如何在没有过期的情况下生成文件链接?

时间:2013-07-24 10:35:07

标签: python amazon-web-services amazon-s3 amazon-ec2 boto

在AWS S3中,如何为文件生成文件下载URL而不会过期。

conn = boto.connect_s3(awsAccessKey, awsSecret)

# Get bucket instance.
bucket = conn.get_bucket(bktName)

fileKey = bucket.get_key(fileKey)
url = fileKey.generate_url(expires_in=None, query_auth=True, force_http=True)
print url

如何为文件生成url而没有过期?

2 个答案:

答案 0 :(得分:5)

根据最新文档(http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html):

  

预先签名的网址最多可以有效七天,因为   您在签名计算中使用的签名密钥最多可以有七个   天。

由于签名本身只能有效七天,因此签名的网址无法生效七天以上。拥有永久有效URL的唯一方法是将文件公开。

答案 1 :(得分:-1)

链接过期是允许对私有文件的有限访问,而不会泄露身份验证密钥。

如果您想使文件始终可用,请将该文件设为公开,或者为其他s3用户提供权限。