我正在使用aws s3 boto3
要将文件上载到我的aws bucket,请调用 uploadtesting
. 下面是一个示例实现:
import boto3
...
s3 = boto3.resource('s3')
s3.meta.client.upload_file('files/report.pdf', 'uploadtesting', 'report.pdf')
从aws s3控制台访问对象允许您查看对象url,但它不是可下载的链接。我想知道的是,我如何使用python打印出我刚刚上传的文件的可下载链接?
2条答案
按热度按时间vlju58qv1#
格式为:
所以你的目标是:
没有提供生成此字符串的函数,因此请使用:
axkjgtzd2#
似乎您正在询问如何生成允许下载私有对象的url。
这可以通过生成一个AmazonS3预签名url来实现,该url在有限的时间内提供对私有s3对象的访问。
基本上,使用能够访问对象的凭据,您可以创建一个“已签名”的url。当AmazonS3收到此url时,它将验证签名,并在到期期限尚未结束时提供对对象的访问。
从预先签名的URL-boto3文档:
这个
ExpiresIn
参数以秒表示。