如何在Google App Engine中使用Python(和boto)从Amazon S3通过浏览器下载文件?

2 投票
2 回答
2049 浏览
提问于 2025-04-15 18:20

我有一个在Google App Engine上运行的Python脚本,使用的是boto 1.9b,这个脚本可以获取S3桶里的所有键(也就是文件名)。输出的结果是一个HTML表格。

bucket_instance = conn_s3.get_bucket(bucketname)
liste_keys = bucket_instance.get_all_keys()

table = '<table>'
for i in range(laenge_liste_keys):
  table = table + '<tr><td>'+str(liste_keys[i].name)+</td></tr>'
table = '</table>'

我该怎么做才能把这些键的名字变成链接,让用户可以通过浏览器下载这些文件呢?

谢谢大家!

2 个回答

2

这个文件的公开网址大概是这样的:

http://s3.amazonaws.com/bucket_name/key_name  

所以在你的代码里,添加链接的时候,要把它们的href属性指向这个网址。

3

解决方案找到了。

generate_url(expires_in, method='GET', headers=None, query_auth=True, force_http=False)

这样就可以很方便地为每个键创建一个有效期为x秒的链接。

撰写回答